我是yskin的一个朋友,yskin的网站一直放在我的空间里,前些日子由于自己的操作不当导致yskin的数据丢失,我感到十分抱歉,我希望得到大家的谅解。
yskin博客的重建工作正在进行,数据也在慢慢恢复,yskin写的插件将继续提供更新和下载,WordPress中文化工作将转移到WordPress中文团队继续提供支持。
感谢大家的关注,希望大家能继续支持yskin的工作!
'建站日志' 分类的存档
我可怜的域名,用了这一年多一直都有这样那样的问题。
我在卓越数据买的域名,那是2006年3月的事了。当时在blogger.com上写了4个月的Blog,然后想自己架设Blog。当时先考虑的是比较知名的Z-Blog,但是当时好像是看到幻灭抱怨Z-Blog里文章多了以后每次修改模板要更新所有页面很麻烦。因为我用的blogger.com也是和Z-Blog一样的静态的,也是更新很麻烦。另外再加上ASP的代码看起来没有PHP的简洁,于是放弃,转往PHP方向。最后PHP的Blog也没看几个,就定下WordPress——无数人说它是最流行的Blog系统。最近老是想起这个事,因为隔几天就有人在论坛上问WordPress可不可以静态化。我是因为Z-Blog是静态化而弃之不用的,而看到一篇04年的电子书,当时MT最流行,很多人是因为MT的license改变再加上MT是静态的而WordPress不是静态所以页面是即时更新的,所以转用WordPress的。现在反过来了,每个人都在问WordPress为什么不能静态化。/lh
从51yes的访问统计上看,我的Blog应该是在昨天中午11:30到12:00时down掉的。网站连不上,ftp上不去,看来是整个服务器down掉了。当时还在想,会不会是服务器被公安局拿去检测了,以前听说过有公安局直接到机房把机器拿走去检测,然后过几天才还回来的事情。
昨天下午郁闷的很,开着LeapFTP,不停的连接服务器,总是返回“连接服务器超时”的信息。突然发现原来这个Blog对我是如此的重要。下午5点时,有了一点变化,“连接服务器超时”变成了“连接服务器被拒绝”,说明服务器应该已经重新连上了,但是ftp服务器端软件还没有被打开,21端口现在是关闭的。自从我的服务器去年8月从厦门搬到福州以后,好像机房的防火墙就封了ICMP包,所以一直以来服务器都是Ping不通的。现在显示连接服务器被拒绝,如果ICMP包没被封的话,应该是可以Ping通的。
下午6点,ftp可以连接了,但是登录不上,显示密码错误;6点半,ftp可以登录了;7点,Apache开启,MySQL开启,后台可以登录了;7点半,前台Blog首页正常,但是子页面还是无法显示。查来查去,好像是.htaccess文件无法使用,导致无法使用静态的Permalink结构。无奈,到FeedBurner上把烧录地址改成"http://yskin.net/?feed=rss2",这样烧录过的地址是可以用了,但是原feed地址"http://yskin.net/feed/"无法使用,所以feed还是坏的。
昨晚睡觉前想了下解决办法,在.htaccess文件不可用的情况下,只能用动态的Permalink结构,还应该建一个feed目录,在下面放一个index.php文件,以便使"http://yskin.net/feed/"这个地址能被307重定向到FeedBurner烧录过的地址。今早10点半上来检查,故障依旧。于是把Permalink结构改成带"index.php"的格式,暂时可以保证在Blog内部可以进入各个子页面了,但是搜索引擎过来的依然没办法。中午12点半,尝试更新了一下永久链接结构,发现显示更新成功,而.htaccess文件变成了0字节了。记得Linux下权限管理是非常严格的,或许是服务器被重装了以后,.htaccess文件的权限还归属于原来的用户吧。于是直接删了.htaccess文件,再更新永久链接结构,.htaccess文件更新成功,Blog也恢复正常了。再把我原来的.htaccess文件上传,一切正常。
呃,这次故障可真伤脑筋。看服务器上,Apache的版本依然是2004年的2.0.52,PHP是2004年的4.3.9,MySQL还新点,今年5月的4.1.20。Apache的Build Date是2007年2月21日。所以我也晕了,不知道这次故障是因为服务器被拿走了,还是因为为了升级服务器上的软件。
两条经验:一、备份是重要的!二、更新永久链接结构是很好的解决故障的方法。
Update:哈哈,一下午无法上传文件,只有通过WordPress建立.htaccess文件。刚才登录百优的管理后台才发现,原来空间使用已经高达470M了。看来这次百优升级服务器的时候把空间限制也打开了。ftp上去清了一下以前遗留的垃圾文件,终于到了300M以下。
Update2:在百优这样的空间上有利有弊。百优相对于盘古和DreamHost这样的空间来说算是比较小的空间了,好处在于很多地方并不是那么严格,比如空间上,以前多用了一半多空间也没被警告;流量上,看后台的显示,我是每个月都要超过20G的流量,不过也没有收到过警告。百优的服务也很不错,在线提问系统回复的也很及时。另外,空间还算比较稳定,这一年以来也没丢过文件,而且在早期速度还是很有保障的,可能用户不多吧。以前FTP下载速度是2M/s。现在速度有点差了,不过FTP也有400K/s。网页执行速度一直都还可以,都在1秒以内,只是最近可能用户增多,MySQL经常会比较慢或者干脆不能使用,导致网页执行速度有点问题。
缺点嘛,就是平庸一点,没有盘古和DH的shell。各个软件的版本会有点老,不像DH那样经常升级。(当然盘古的更老,MySQL还是4.0版本呢。)版本老,就有可能有bug,可能会被人攻击,所以资料备份要勤点。当然,无论在哪里的空间,自己都要注意备份。另外电信的线路,网通访问可能会慢。不过盘古也是电信的线路。另外,DH和盘古如果出了故障都会有补偿,这次我的服务器的故障,好像连个官方消息都没有,嘿嘿。
今天开始看书学python。虽然2005年10月就开始关注python了,还订阅了python邮件列表,但是一直没开始学。DreamHost自带python,输入python命令默认启动的是python 2.3.5。另外还有python 2.4.1可以用。我只是个初学者,知道新版本新增的内容都是我现在用不着的,知道哪怕N年前的python 2.2也够我用的了,不过总想弄个最新版来玩玩,嘿嘿。
找了《在dreamhost上安装自己的python》,又找到DreamHost文档-Python。照着一步一步安装。
安装步骤如下:
wget http://www.python.org/ftp/python/2.5/Python-2.5.tgz
tar -zxvf Python-2.5.tgz
cd Python-2.5
./configure --prefix=$HOME/lib --enable-unicode=ucs4
make
make install
首先用wget命令下载,然后tar命令解压,然后安装。DreamHost文档里的说明没有加--enable-unicode=ucs4,我查了一下,这个是表示python内部表示unicode的编码的方式为UCS-4,而非UCS-2。在这里查到,可以用sys.maxunicode命令检查当前python编译时使用的参数,返回1114111为--enable-unicode=ucs4,返回65535为--enable-unicode=ucs2。我看了一下,DreamHost的python 2.3和python 2.4都是ucs4,那么我也用ucs4吧。
python 2.5已经安装好了。如果想把python 2.5设置为默认版本,那么做下面的设置:
mkdir $HOME/bin
mkdir $HOME/bin/python
mkdir $HOME/bin/python/bin
ln -s $HOME/lib/bin/python $HOME/bin/python/bin/python
然后,在$HOME.bash_profile里加入一条:
export PATH=$HOME/bin/python/bin:$HOME/lib/bin:$PATH
重新载入配置文件:source ~/.bash_profile,再敲入python命令,显示:
Python 2.5 (r25:51908, Nov 23 2006, 19:51:08)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
安装好了,现在我有4个python可以用:
[burns]$ python2.2 -V
Python 2.2.3+
[burns]$ python2.3 -V
Python 2.3.5
[burns]$ python2.4 -V
Python 2.4.1
[burns]$ python2.5 -V
Python 2.5
python 2.5向下兼容不知道怎么样。为了学python,找了vim中文文档看了一下,以便在shell里修改文件,免去ftp来ftp去的麻烦。不过好像python代码没有被自动Highlight啊,不是说vim支持代码高亮么?花了两个小时研究了下,最终知道该在.vimrc里加一句"syntax on",555~~用vim打开了C++,python,PHP代码看了一下,加亮的好难看呀...
昨天在V2EX看到有人问“python里怎么用unicode字符”。在网上查了一下,这事好像比较麻烦。Unicode的事我大概知道,找到这篇文章,大概看了一下,大意是说:python里,unicode是一种类型,上面安装时的--enable-unicode=ucs4参数就是把unicode类型设置为UCS-4编码格式。而string类型则是bit流,没编码类型的。这和PHP很象啊。他们之间的转换时,string会被指定一个默认编码方式,可以用sys.getdefaultencoding()函数看到。所以,要么设置python环境的默认编码方式,要么手工encode和decode。另外,源代码中的u'字符串',在python console里,那个u并非函数一样可以把后面的字符串转换为Unicode编码,console里的字符串应该是不做转换,直接按字节设置成UCS-4。
>>> s=u'\xc9\xab'
>>> s
u'\xc9\xab'
>>> len(s)
2
>>> type(s)
<type 'unicode'>
>>> print s
色
而Windows的console里默认编码应该是CP936,所以在python console里直接用u'字符串'这样是不行的,print命令检测到这是一个unicode类型的变量,就会将其转换为CP936再显示出来。而py文件里的源代码,则可以在文件开头指定文件编码。对于u'字符串',python会自动将其按照该编码方式转换为UCS-4,就像limodou所说的。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
另外还查到一句话:python在启动时会自动执行site.py这个程序,然后会自动将sys.setdefaultencoding这个方法删除。因此你可以通过reload(sys),然后就可以使用了。[via]
So,和WordPress一样,python文件还是尽量用UTF-8编码的好。
Update:今天想用python timeit.py来计算python程序运行时间,研究了半天,还是用time命令,看中间的user项的执行时间最好。 又用了一条命令:
ln -s $HOME/lib/bin/python $HOME/bin/python/bin/py
这样,直接输入py就可以运行python啦。阿土伯说,“懒人有懒福”
Update2:原来可以用alias做别名,具体方法是在.bash_profile文件里加上下面的代码:
alias py="python"
alias ls="ls --color -F"
修改好以后,下次登陆bash就可以生效,或者用source ~/.bash_profile使它立即生效。第一条设置py为python的别名,第二条设置ls命令自动加颜色显示,如此甚是方便呀。
今天看了精神奕奕的两篇文章:《Apache2 使用 mod_gzip 增進傳輸效能》和《Apache2 使用 mod_deflate 增進傳輸效能》。看起来这是位WordPress前辈啊,05年初就开始接触了WordPress。
文章介绍了使用mod_gzip模块和mod_deflate模块压缩传输数据,提供传输性能的方法。WordPress本身支持gzip压缩输入,不过仅限于WordPress输出的页面,比如Blog页面以及WordPress后台页面等等。而其他地方,比如模版的js文件和CSS文件,因为这些文件不用被PHP引擎执行,没经过WordPress的处理,所以没有压缩。不过,K2模版的几个js是特例,因为他们都是做成PHP文件,包含了wp-blog-header.php文件,并在文件启动了gzip压缩。
我的服务器安装了mod_deflate模块,到Apache 2.2 文档里看了一下,找到mod_deflate模块的文档。精神奕奕的文章里说的DeflateCompressionLevel等命令都不能在.htaccess文件里使用,只能用AddOutputFilter命令[via]。于是在.htaccess文件里加上:
<ifmodule mod_deflate.c>
AddOutputFilter DEFLATE css js txt
</ifmodule>
这样,当传输以css,js,txt为扩展名的文件时,Apache将使用mod_deflate模块对其进行压缩后再传输。这三种文件都是文本格式的,压缩起来效果明显。还有html和xml文件也可以压缩,不过我的网站上基本没有这两种文件。Apache应该是按照最终要读取的文件的扩展名来判断的,刚才关了WordPress的gzip压缩,然后加上了在.htaccess文件里加上了html,发现我的Blog文章页面并没有被压缩。而这种压缩是在PHP等脚本解析程序执行完了之后才进行的,如果WordPress没有gzip压缩功能,倒是可以利用mod_deflate来对页面进行压缩,hoho
测试了一下,K2自带的style.css文件,未启用前Content-Length是15914字节,跟文件大小一致,启用后Content-Length只有4415。WordPress 2.0.5的/wp-admin/wp-admin.css文件,原来大小是15047字节,启用DEFLATE后Content-Length只有3990。
这个效果还是很明显的,对于网络传输速度不太好的服务器还是有点用的。而默认压缩等级没法调,因为我用的是虚拟主机。现在也不知道该怎么看服务器的默认压缩等级,不过看精神奕奕的效果:启用前12911字节,启用后3342字节,大概效果也差不多。
Update:今天找DreamHost的资料,偶然间看到这篇《PHP中HTTP方式下的Gzip压缩传输方法举偶》说,在.htaccess文件里可以打开PHP的gzip压缩输入,方法是在.htaccess文件里加入下面两行:
php_flag zlib.output_compression on
php_value zlib.output_compression_level 2
这样不错,等于是给每个PHP程序开头加上了ob_start("ob_gzhandler");这条语句。查了一下,WordPress也是利用ob_start()函数来启动gzip压缩的。
翻了一下PHP文档-ob_gzhandler,zlib.output_compression和ob_gzhandler还是有区别的。zlib.output_compression是和PHP脚本解析程序并行的一个线程,当PHP输入时,这边读入,压缩,而已经压缩好的文档达到一定数量(默认是4k),它就向浏览器发送数据。而ob_gzhandler则是在PHP脚本执行完所有代码才把缓存好的输出文件进行压缩并传输给浏览器,所以相对慢一点,不过使用它可以在PHP程序里控制一些参数,比如压缩等级等等。.htaccess里用php_value zlib.output_compression 2048语句可以设置输出数据达到2k就传输。
压缩等级的调整有两种说法,不过懒得研究了,默认等级是6,890k的文件压缩出来的数据和最高的9级只差1k,而且9级需要更多的CPU时间,用默认的6级就可以了。
另外,有个Real-Time Compression Check工具,可以检测某个URL是否是压缩传输的。好像这家公司做IIS下的zip压缩程序,所以弄了这么个在线工具。只要输入你的地址,回车,就可以看到服务器类型、是否是压缩传输以及压缩前和压缩后的大小比较。大多数情况下html代码都能压缩到1/4~1/3,gzip压缩传输还是很不错的。
老早就想把弟弟的Blog:http://yskin.net/zc/搬出去。现在域名那么便宜,他也不能总寄居在我的空间里,用自己的域名才是王道啊。而且,我跟他的理念有点不同。他的Blog总是喜欢转一些文章,不过这也没办法,一个高三的学生哪有多少时间写东西啊。我又非常看不惯Blog转人文章,我总觉得一个人该为社会解决一些问题,而不是以抄文章为乐。所以,转出现,自立一个门户,眼不见心不烦,以后WordPress的升级,模版的修改等问题我也就不用管啦,让他自己玩去,嘿嘿。
10月17号上午找朋友要了100M DreamHost空间,当时绑定的myheimu.com这个域名,我又还没买域名,于是改了hosts文件登陆了上去,嘿嘿。一上午时间,仔细研究了一下DreamHost的使用方法,试着登陆上DreamHost提供的shell。第一次接触Linux,还好有DOS基础,再加上有Google,上手还算容易,嘿嘿。当天中午,趁着弟弟放学在家的时候跟他联系了一下,他说决定用heymu.com这个域名,于是我用建行卡付了款,买下了这个域名。下午把在yskin.net/zc上的WordPress Blog的文件和数据库都搬到了DreamHost,仔细地查了一遍,把该修改的地方都进行了修改。新Blog正常工作后,又把WordPress各个页面都检查了一下,确认没有问题。10月18号,重新绑定了heymu.com这个域名,登陆DreamHost空间的shell,删掉所有文件重新开始安装。因为有前一天研究的基础,这次轻车熟路地装好了新Blog。中午,让弟弟检查验收,确认一切无误后,10月19号正式做了地址转向,Blog搬家完毕。
OK,现在是10月19号中午,写一下搬家过程,方便大家参考。
这次搬的是WordPress架设的Blog,从yskin.net/zc搬到heymu.com。即换了空间又换了Blog地址。空间从百优搬到DreamHost,服务器都是Linux+Apache 2.0,PHP从4.4.2升级到5.1.2,MySQL从4.1.18升级到5.0.24a。用PHP探针看了一下,页面执行时间从170ms降到70ms,执行速度有所上升,不过因为DreamHost空间在国外,访问速度稍微有点慢,再也不象以前那样FTP速度达到2M/s了。K2模版本身就比较庞大,页面的js很多,访问确实有点慢。DreamHost空间的mail()函数没有问题,可以省去SMTP Mail
插件了。唉,只有国内的空间才有mail()函数不能用的问题。
首先要做的是获取新域名和新空间。域名注册一下就可以了,用银行卡付款,马上就可以拿到域名。空间找朋友要了DreamHost的空间,让他在DreamHost里给空间绑定好域名,然后拿到空间的MySQL地址、ftp服务器、帐号和密码,还有shell登陆的方法——直接telnet域名。DreamHost空间在美国,所以连接速度有点慢,ftp速度惨不忍睹,所以有什么事最好用shell来做,学一点Linux命令,登陆shell下载WordPress并解压,方便的很。(据说DreamHost的空间可以直接在后台操作给空间装上WordPress,这样更方便,不过只有管理员才能登陆后台哦)
到域名的管理页面,把域名的DNS地址修改为ns1.dreamhost.com,ns2.dreamhost.com,ns3.dreamhost.com。有的域名商那儿只能填主副DNS两个地址,那就随便选两个填上好了。改好以后,域名解析就交给DreamHost来做,它会自动修改A记录什么的,省了我们的事。等上一段时间,域名的NS记录的更新需要一段时间,因为要到那13台DNS全球根服务器上更新。用nslookup命令查看一下域名的NS记录,等更新好了,就可以直接用域名访问空间,用mysql.heymu.com访问PHPMyAdmin了。
然后是转移文件和数据库。文件可以从百优这边下载下来上传到DreamHost,也可以用FXP。因为百优这边FTP很快,我直接把整个目录下载下来,打了个RAR的包,上传到yskin.net,然后登陆DreamHost的shell,wget命令下载,rar命令解压。数据库么,登陆PHPMyAdmin,选中zc_开头的几个表,导出,保存成文件。然后在DreamHost空间的PHPMyAdmin里选择文件导入即可。因为我的Blog占用了wp_这个数据表前缀,所以给他用了zc_这个前缀。这个前缀最好不要改动,好像zc_options表中有一些选项保存了这个前缀,改变了会出问题。
修改数据库zc_options表中siteurl和home两项,修改成新的域名http://heymu.com。记得地址末尾不要加/反斜杠,虽然加上也没啥关系,get_settings()函数会自动处理,但是还是不要加的好,默认就是要不加的。
修改wp-config.php文件,填入新的数据库地址、用户名、密码、库名。
OK了,现在登陆新Blog,进入后台->选项->永久链接,点击“更新永久链接”按钮,让WordPress自动更新一下.htaccess文件。现在,Blog搬家基本完成。到Blog的各个页面,检查一下有没有什么问题。记得以前听说WordPress在PHP5里需要自己修改一下gettext.php文件,现在貌似也不需要,中文包功能正常。
昨天下午五点,我的Blog突然无法访问了。当时还以为是web服务器出了问题,心想等一会就好了。打开雷电玩了起来,并随时刷新页面看是否能访问。玩了半个小时,Blog还是打不开,这下我有点慌了,赶紧开始检查。登陆百优,没问题,进入管理页面,显示服务器正常。用空间附送的三级域名访问,两秒钟打开了Blog,汗。赶紧nslookup一下域名,发现解析到的IP不对。
我的空间在厦门,查了一下解析域名得到的IP,是北京的。用四川,广州和深圳三地的DNS服务器检查了一下,都是解析到这个IP。试着登陆域名提供商的网站,超时,又到用nslookup到我的域名的NS:ns2.xinnet.cn上查询,超时。发现一个问题,解析到的IP和ns2.xinnet.cn的IP一样。汗了,难道新网出问题了?
看了一下我的feed,发现FeedBurner没有更新我的feed,我下午刚发的文章没有更新。不多会,Gmail里收到FeedBurner的信,说域名无法解析以及连接服务器超时。
昨天想着可能是一点小故障,就到hosts文件里修改了一下,把我的域名指向正确的IP,上Blog上看了看,就下线了。今天早上一上线,发现网站还是打不开,不过FeedBurner已经更新了我的feed。四川、广州和深圳三地的DNS服务器都解析不到IP,都返回超时,而我查了一下其他的网站,发现都能正常解析。再到ns2.xinnet.cn查,这里已经好了,能正常解析到IP了。
改了一下hosts文件,上Blog修改了些文章。刚才突然想到,可能不只有我这一个域名出了问题。想起该到一些新闻网站查一下新闻,脑子里第一个想到的是Donews网站。上去一看,果然有一条新闻说新网的DNS服务器被黑客攻击了。新闻里说出处是新浪网,跑到新浪查到了一下,一条9月21日晚上8点的新闻《新网遭黑客大规模攻击 30%注册网站无法访问》,说新网的DNS服务器遭到攻击。9月22日早上7点的新闻《新网被黑服务中断8小时》,说新网已经证实被攻击的事,攻击时间是下午四点多到夜里12点。攻击持续8个小时,并且肯定不是普通的DDOS。网站30%的域名无法访问,新网已经先搞好了几个大网站的域名,剩下的保证十一之前搞好。另外,这篇文章里提到,“另据消息称新网的DNS可能被人控制,有报告称部分DNS已经解析到不正确的主机上。”
这事真麻烦,估计是有人黑了进去,控制了新网的DNS服务器。唔,我知道了,我昨天下午解析到的IP就是ns2.xinnet.cn的IP,一定是有人黑进新网的DNS,然后修改了程序,让DNS查询都返回为ns2.xinnet.cn的IP。然后各个地方的DNS服务器都cache了这个结果,所有在新网的域名都被解析到这个IP,最终这么多网站的流量都流向ns2.xinnet.cn,任何人要访问这些网站都要连接ns2.xinnet.cn的80端口。最后,这台机器不堪重负,拒绝服务了,黑客也达到了DDOS的效果。现在公安部网监处已经介入了,可能全国各地的DNS服务器都做了修改,不再相信新网的DNS服务器传来的信息,所以我在国内的DNS解析不到我的域名。我查了一下,北京天津四川广州深圳的DNS都没法解析到,而香港的和国外的几个DNS解析我的域名都正常,FeedBurner今天也没有再发解析错误的报告来。
哎呀呀,这个黑客可真够狠的呀。不知道新网的数据库有没有备份好,还是等新网尽快恢复,再把全国各地的DNS服务器改回为接受新网DNS的数据,这样国内的访问才能恢复正常。
花了一个半小时重新写了CSS文件。
CSS文件是8月29日20点49分被覆盖的,因为这几天一直有事,所以直到现在才有时间重新写一下。一看覆盖后的文件就知道是我弟弟给覆盖的,他正好也用K2模版和True Blue style(也是因为我的推荐),所以他的custom.css文件的路径和我的很象,可能是一不小心看错就给覆盖了。正好那几天他在换新版K2和True Blue,可能是想参考一下我的CSS文件。发email去问,又在他的Blog上留言,想着说不定他留有备份以便参考,结果一直没有回复。没办法,只好自己从头再来。
我用的K2模版有自定义CSS的功能,可以自己写一个CSS文件,文件开头可以想WordPress的插件那样写上名称和作者等信息,放如K2的style目录,在K2的设置页面可以选择要使用的style。以前我自己写了个style,后来换用True Blue style。这个style做的非常好,外观非常的好看,还为IE特别写了一些CSS代码,还有为不支持透明png的IE准备的gif和jpeg文件。True Blue有一个特别的设计,允许使用者把自己的CSS写进custom.css文件,True Blue在他的CSS文件里会import这个文件。8月18日换用True Blue style时,我就把我原来自己写的K2 style整理了一下,删去一些不用的代码,放进True Blue的custom.css文件里,并做了一些修改。现在custom.css文件被覆盖了,正好我的U盘里的网站备份丢失,没有办法,只好再重来一遍,从网站上下载来原来的style,修改后填进custom.css文件。
正好乘这次机会重新把CSS看了一遍,改了好些地方。我在文件里写了很多注释,如果也是用K2模版的朋友可以参考一下。Firefox的DOM查看器是个好东西,是改CSS的必备工具。
我有插件每天自动备份数据库,却没有自动备份网站文件的功能,以后考虑写一个。网站的文件应该多在几个地方备份,狡兔三窟嘛!
好几天没有收到Blog发送的评论通知邮件和数据库备份邮件了,一直懒着到现在才开始处理。Gmail里最后一封邮件是8月16号的,好明显,16号晚上服务器从厦门机房搬到了福州机房,应该是换了机房后出的事。搬到新机房后就没能ping通服务器,tracert过去发现到202.97.41.210电信骨干网路由器就过不去了,福州的机房也真是厉害,难道屏蔽了所有ICMP包么?
幸好PHPMailer带了测试功能,测试了一下,显示connect_host出错。直接把连接的那段代码找出来,连接用的是fsockopen函数。测试显示"Address family not supported by protocol(97)"错误。把"mail.yskin.net"直接换成了IP:220.162.244.67,居然成功了。难道是DNS解析有问题?写了一句echo gethostbyname('mail.yskin.net');测试了一下,直接给我显示出了原始字符串mail.yskin.net,汗了。
这个问题通过“手工DNS解析”解决了,但是别的需要解析的地方呢?想了想,SK2会检测TB&PB的原始地址是否存在,WordPress发送的TrackBack也要解析域名。郁闷了,这个功能坏不得啊。给客服留了言,等待回答中。
Update:留言N天没回,QQ又有问题,没法和客服建立临时会话。本来不报希望的,可是下午4点收到了N天前做测试,由《K2模版0.9版发布》发送到《We Love WordPress》的测试TrackBack,汗了。今天的服务器过一会就会慢一下,执行时间近10s,有时还会掉一下线。又测试了一遍,功能已经恢复正常了。这下不用再担心出问题了,TrackBack也应该能正常发出去了。也许是有人在服务器上放了采集程序吧,关掉了这个功能,采集程序就不能运行了。现在重新打开了,采集程序又泛滥起来了。
昨天中午12点40上网,发现访问不了Blog,ping了一下,DNS解析到的IP正确,但是服务器ping不通。以为服务器又出点小故障,但是想到百优的反应速度一向很快,估计过个10分钟,等服务器重启一下就好了。开QQ,到WordPress群跟大家说了一下这事,哪知大家都能访问,最后一致认为是我的rpwt。晕倒,赶紧从头开始查:nslookup,DNS解析正常;ping,ping不通;tracert过去,发现问题了。
C:\\DOCUME~1\\cface>tracert -d yskin.net Tracing route to yskin.net [218.85.132.28] over a maximum of 30 hops: 1 <10 ms 10 ms <10 ms 192.168.0.1 2 <10 ms 10 ms <10 ms 219.134.63.62 3 <10 ms <10 ms <10 ms 219.133.30.133 4 <10 ms <10 ms <10 ms 59.40.49.98 5 <10 ms 10 ms <10 ms 58.60.24.30 6 <10 ms 10 ms <10 ms 202.97.64.34 7 10 ms 10 ms 10 ms 202.97.41.145 8 61.154.236.157 reports: Destination host unreachable. Trace complete.
查61.154.236.157这个IP,显示是“福建省 厦门市 电信”。直接ping 61.154.236.157,发现可以ping通,而且也是10ms。说明这个路由器好着,但是包过不去,可能是因为路由表出问题之类的吧。这样子的话,起码深圳电信的用户都访问不到我的Blog,不知道其他城市怎么样。到百优网站看了下,8月3号有个通知,说是“接厦门电信局IDC通知,218.5.76.*,218.85.132.*段的某些服务器网络故障,需要变更IP”。也不知厦门电信在搞什么,群里Dre·J说是在调整服务器为了学重庆那样上网需要备案,哈哈。昨天ping -t了一天,一直到晚上12点也没好,郁闷。今天中午1点上网时还是老样子,不过2点时好了,呼,终于可以上来处理一下评论了。
C:\\DOCUME~1\\cface>tracert -d yskin.net Tracing route to yskin.net [218.85.132.28] over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms 192.168.0.1 2 10 ms <10 ms <10 ms 219.134.63.62 3 <10 ms 10 ms <10 ms 219.133.30.133 4 <10 ms 10 ms <10 ms 59.40.49.98 5 <10 ms 10 ms <10 ms 58.60.24.30 6 <10 ms 10 ms <10 ms 202.97.64.34 7 10 ms 10 ms 20 ms 202.97.41.145 8 10 ms 10 ms 20 ms 61.154.236.157 9 741 ms 751 ms 761 ms 222.76.222.142 10 30 ms 30 ms 30 ms 222.76.222.182 11 20 ms 20 ms 20 ms 222.76.221.50 12 10 ms 10 ms 20 ms 218.85.132.28 Trace complete.
Update:又从5点坏到6点,这次是11号222.76.221.50那儿过不去,郁闷。
Update2:终于,百优开始换地方了。8月12日的公告上说:“最近客户反映218.85.132.27/29/30服务器,部分地区访问缓慢,或者无法访问,技术人员将情况上报给机房IDC查询故障原因,经查证后发现 因为骨干路由问题,造成这些问题,需要处理时间比较长”这几台机器换了IP,不过我所在的服务器是28,唉。8月16日的公告,所有服务器开始搬迁。“搬迁工作将于2006年8月16日晚10点开始,到2006年8月17日早上7:00恢复。”我的网站的IP也从218.85.132.28换成了220.162.244.64。到123cha查了下,220.162.244.64 福建省 福州市(福建电信数据中心机房) 电信IDC。这下到福州了,省会城市应该会好点吧。不过我ping不通,tracert过去到202.97.41.210就过不去了。估计是福州那边封了ICMP包,郁闷!唉,能用就行,其他的管不了了。