dreamhost转移到虎翼第一步——解析和文件的转移
副标题《dreamhost对mysql所在hostname的处理》
我现在要把dreamhost上的网站文件转移到国内的虎翼上来。但出现了一些怪事。
1、wp-config.php上面数据库的配置是连接到sql.chenfangyi.com上。并非一般主机的localhost。
2、我把chenfangyi.com的域名dns改成了虎翼的,且没有加新的sql.chenfangyi.com的解析,所以之前在dreamhost上的sql.chenfangyi.com也随之失效了,sql.chenfangyi.com应该不能访问了,测试了一下的确,用operator或者用在线代理无法访问sql.chenfangyi.com。
3、本地ping sql.chenfangyi.com也提示地址错误,在本地ip上直接访问sql.chenfangyi.com访问不了。即没有任何地方的入口可以访问sql.chenfangyi.com,证明sql.chenfangyi.com的新解析已在全球生效了。
4、用在线代理和operator都是访问到新的在虎翼上的www.chenfangyi.com 站点,提示如下信息:
<html>
<head><title>404 Not Found</title></head>
<body bgcolor=”white”>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/0.5.33-p3</center>
</body>
<script language=”javascript” src=”http://218.241.156.72/xzone/v1.php?uw=www.chenfangyi.com&u=/”></script></html>
这就是虎翼网的错误信息的页面了。
(piece.chenfangyi.com/和chenfangyi.com不管用本地还是代理都是如上的提示,因为我已经在虎翼上增加了二级域名piece.chenfangyi.com A记录到虎翼的空间上。而www.chenfangyi.com也是这么做的却还没更新,可能是更改dns之前我有在虎翼做过一个什么通道的原因)
5、本地ping www.chenfangyi.com 的地址是:208.113.137.101 还是美国DH上的,说明是因为本地dns未更新。所以在本地机子上用本机IP访问www.chenfangyi.com 仍然是旧的在DH上的!感觉还比平常快很多!访问后台也行,也可以发表评论。
好,问题来了,www.chenfangyi.com这个页面可以访问,这个很好解释,就是本地解析没跟上的原因,但sql.chenfangyi.com这个域名解析已经在全球都没法访问了啊,而www.chenfangyi.com是要用到这个mysql的hostname的,那怎么可以使用?而且在www.chenfangyi.com上还可以进行留言等数据库的操作!
首先排除以下可能性:
1、google gears的原因,排除,因为我在虚拟机中也可以访问。
2、浏览器缓存原因,排除,我换了多个浏览器了。
3、本地缓存原因。排除,本地缓存也已经没了。从ping上可以看出来
4、wordpress缓存插件wp-cache原因,排除。我一直都没启用这个插件!
5、服务器缓存原因,排除,因为还可以留言就证明不是缓存原因。
那到底是怎么连上数据库的呢?
明白了!终于搞清楚了,wordpress的DB_HOST参数:sql.chenfangyi.com,这个只是“服务器名”的意思,就像局域网中一台电脑的名字一样,并不是internet上已经注册的hostname。所以DH并不是通过internet上的其他服务商的DNS解析服务器,而使用自己内部的,在DH后台添加一个sql.chenfangyi.com的hostname时,DH做了两件事:1、增加了一台名为sql.chenfangyi.com的主机。2、同时也对sql.chenfangyi.com添加了A记录解析并转向,转向到www.chenfangyi.com/dh_phpmyadmin/sql.chenfangyi.com。但这个解析只是为了我们可以通过sql.chenfangyi.com来访问。不要这个sql.chenfangyi.com的A记录解析也可以。我们可以直接通过www.chenfangyi.com/dh_phpmyadmin/sql.chenfangyi.com来访问。
现在就很明了了:因为本地缓存DNS服务器对www.chenfangyi.com新的A记录未更新,所以现在访问到的仍然是在DH上的程序,而在DH上名为mysql.chenfangyi.com这个服务器还在,所以可以正常访问数据库。
而通过美国代理访问www.chenfangyi.com,美国那里的DNS解析更新比较快,所以已经把A记录更新到了虎翼上,而当然虎翼上是连接不到dreamhost内部的主机sql.chenfangyi.com上的,所以出现了Error establishing a database connection的500服务器错误。
接下来就是要做数据库的备份和转移了,见下一篇日志。
PS1:刚刚写完这一篇,要发布时,却出现了500错误,我心想:太好了,终于更新了,果然,访问出现:Error establishing a database connection 如此推算:如果原来没有这个子域名的话,那么添加子域名可以马上生效,而如果本来就有www.chenfangyi.com存在,那么从添加www的子域名到chenfangyi.com到www.chenfangyi.com在我们这的DNS服务商(210.34.240.100)更新的话大概需要3个小时左右的时间吧。但是过了一小时后,解析又回档到美国的IP上了!晕,这个缓存DNS服务器太烂了,下次试试opendns的。
PS2:换个DNS真麻烦,原来的全部解析都失效了,包括feed.chenfangyi.com、piece.chenfangyi.com、还有MX记录(Gmail邮箱托管服务),太麻烦了!看来以后得固定一家,不知道opendns有没有域名解析这方面的免费业务!有的话下次我DNS就不转移了,固定在一家了。
