Written by 正冰 on 2013, July 13, 3:12 PM
早上收到来自服务商homezz的邮件被告知我账户里的一台美国vps所在的母鸡挂了,母鸡硬盘采用Raid10冗余,只可惜这一次数据数据彻底无法修复。
因为最近一个月非常地忙碌,所以最近一次整体备份在一个月前。多余的就不想了,亡羊补牢吧。
虽然这次灾难并不算非常坏,不过也给俺敲响了警钟:居安思危!
本次迁移的与如下:
1:迁移到了homezz的香港云主机,基于XEN架构,与之前没有大区别;
2:价格方面非常欣喜(保密),并且内存加倍到了1G,CPU核心数与硬盘不变;
3:大陆到香港会有更好的访问速度,ssh操作非常流畅。
虽然以上有3点让人很爽的地方,不过不爽的地方也是有的:
1:搬迁过程非常痛苦,从香港云主机上拖美国的备份,只能跑到最高200KB/s;
2:以后备份也是比较痛苦的,只能考虑自动化增量备份方式了;
3:待续……
不过云主机默认的镜像速度实在太慢,更换为网易的镜像,操作过程如下:
- cd /etc/yum.repos.d/
- mv CentOS-Base.repo CentOS-Base.repo.backup
- wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
- mv CentOS6-Base-163.repo CentOS-Base.repo
- yum makecache
最后,纪念我这台比较稳定的美国VPS:
- 生于2011.11.5,卒于2013.7.13
- 4核CPU,512M内存,20GB硬盘
- XEN虚拟化,美国PR机房
Filed under: 网络杂事
0 Comments
12489 Views
Written by 正冰 on 2013, June 26, 3:25 PM
Written by 正冰 on 2013, June 13, 2:21 PM
在国内某家服务商买了一个支持Shtml、ASP、ASP.net、PHP、Perl、Python脚本类型的空间,然而却无法运行iwms CMS,显示错误如下:
- “/”应用程序中的服务器错误。
- 无法获取所需的权限。
-
- 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
-
- 异常详细信息: System.Security.Policy.PolicyException: 无法获取所需的权限。
-
- 源错误:
- 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
-
- 堆栈跟踪:
- [PolicyException: 无法获取所需的权限。]
- System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +7608563
- System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57
-
- [FileLoadException: 未能加载文件或程序集“IWMS_Quantizer, Version=4.5.1001.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。未能授予最小权限请求。 (异常来自 HRESULT:0x80131417)]
- System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
- System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43
- System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127
- System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142
- System.Reflection.Assembly.Load(String assemblyString) +28
- System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46
-
- [ConfigurationErrorsException: 未能加载文件或程序集“IWMS_Quantizer, Version=4.5.1001.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。未能授予最小权限请求。 (异常来自 HRESULT:0x80131417)]
- System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
- System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203
- System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105
- System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
- System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +54
- System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp) +227
- System.Web.Compilation.BuildManager.CompileGlobalAsax() +52
- System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +337
-
- [HttpException (0x80004005): 未能加载文件或程序集“IWMS_Quantizer, Version=4.5.1001.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。未能授予最小权限请求。 (异常来自 HRESULT:0x80131417)]
- System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58
- System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512
- System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +729
-
- [HttpException (0x80004005): 未能加载文件或程序集“IWMS_Quantizer, Version=4.5.1001.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。未能授予最小权限请求。 (异常来自 HRESULT:0x80131417)]
- System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8907951
- System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85
- System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259
-
- 版本信息: Microsoft .NET Framework 版本:2.0.50727.3643; ASP.NET 版本:2.0.50727.3634
导致该问题的原因:
您好,因为近期我司服务器受到多次严重安全问题影响,经过查询是.net安全级别导致。所以从即日起我司将所有服务器的.net安全级别都提升到了最高级别。这样有部分客户的网站因为程序是在宽松权限的环境下开发的,访问就会出现错误。但这个没办法,我们也是深思熟虑后才这样做的。您可以对您的网站程序进行修改来提高程序的安全级别或者购买我们的云主机。
解决方案:更换支持的空间或者购买云主机(VPS)。
Filed under: 技术归总
0 Comments
16594 Views
Written by 正冰 on 2013, May 21, 9:50 AM
只需要两步即可在linux下快速进行时间同步:
#yum -y install rdate
#rdate time.nist.gov
Filed under: 技术归总
0 Comments
15588 Views
Written by 正冰 on 2013, May 18, 4:18 PM
今天发现在操作windows2003服务器的时候卡死了,而看DuMeter上的流量却不大,打开任务管理器才看到Cpu占用持续高达100%,而导致的高占用的进程经过观察确定是csrss.exe与winlogon.exe。
从百度上查了下资料,可能是有人通过默认的远程桌面3389端口在暴力破解服务器的密码。接着我在服务器上通过命令行运行“netstat -an | find "3389"”发现除了我的IP外还有其余5个在连接中的IP。
问题原因找到了,我就把服务器的默认远程连接端口3389改成了3388(你也可以改成别的没有被占用的端口)。修改过程如下:
- 点击“开始”-“运行”,输入regedit运行注册表软件。
- 定位到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]把PortNumber这个键值在十进制的基数下修改为你想要的新端口。
- 继续定位到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]把PortNumber这个键值在十进制的基数下修改为刚才那个新端口。
完成修改以后,千万不要忘记去系统防火墙里或者网卡的TCP/IP筛选里添加下3388这个新端口(如果没有开启相关的服务就可以不用操作),否则会导致服务器在重启后(新端口生效后)连接不上。
当然为了防止被暴力破解,可以修改一下管理员用户名。最后重启了下服务器,之前的高CPU占用就没有了。
Filed under: 技术归总
0 Comments
11773 Views
Written by 正冰 on 2013, April 16, 2:23 PM
一直以来用winsock expert来抓包分析数据非常方便,某次分析一个网页跳转怎么也抓不到详细的数据流,然后用“iptool抓包分析工具”就解决了,本文做一下记录方便下次使用。
2个抓包工具下载地址如下:
- WinSock Expert http://www.xdowns.com/soft/1/3/2010/Soft_68362.html
- iptool抓包分析工具 http://www.softbar.com/iptool.html
Filed under: 技术归总
0 Comments
10947 Views
Written by 正冰 on 2013, April 13, 9:40 AM
网上很多做VPS推介的网站都会提醒用户注意备份网站数据,而linux vps备份的方法都是用脚本定时自动化备份,其中有一个自动化备份并上传至ftp服务器的脚本有点问题(手动执行脚本本地可以产生备份数据压缩包并上传到ftp服务器,但是放到crontab里自动化执行则只有本地可以产生备份数据压缩包却没有上传到ftp服务器),我改了下脚本,适用于使用lnmp环境下定时自动备份网站和mysql数据库并上传至FTP:
- #!/bin/bash
- MYSQL_USER=root
- MYSQL_PASS=root
- FTP_USER=ftp
- FTP_PASS=123456
- FTP_IP=www.is36.com
- FTP_backup=/public_html/
- WEB_DATA=/home/wwwroot/
-
- DataBakName=Data_$(date +"%Y%m%d").tar.gz
- WebBakName=Web_$(date +%Y%m%d).tar.gz
- OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
- OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz
- rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz
- cd /home/backup
- for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
- (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
- done
- tar zcfP /home/backup/$DataBakName /home/backup/*.sql.gz
- rm -rf /home/backup/*.sql.gz
- tar zcfP /home/backup/$WebBakName $WEB_DATA
-
- ftp -i -n << !
- open $FTP_IP
- user $FTP_USER $FTP_PASS
- bin
- lcd /home/backup/
- cd $FTP_backup
- delete $OldData
- delete $OldWeb
- put $DataBakName
- put $WebBakName
- bye
Filed under: 技术归总
0 Comments
18098 Views
Written by 正冰 on 2013, April 10, 8:29 PM
1、进入phpMyAdmin,进入对应wordpress网站的数据库,执行下面命令:
关闭已发布的文章的评论功能:UPDATE wp_posts SET comment_status='close'
打开已发布的文章的评论功能:UPDATE wp_posts SET comment_status='open'
2、进入你的WordPress管理后台(wp-admin/options-discussion.php):
点击“设置”中的“讨论”,将“允许他人在新文章上发表评论”勾上,这样就能看见评论了。
Filed under: 技术归总
0 Comments
12944 Views