人生会有很多第一次,例如……网站搬家。再过几天,我的第一个主机空间就要到期了,于是这几天忙着把网站搬迁至Bluehost,今晚总算基本搞定。
话说,我为啥选择新家为Bluehost呢?砖家说了,Bluehost是商务网站的首选,因为它够稳定,性价比不错。鉴于我使用的第一个主机空间在稳定性上不敢令人恭维,Bluehost稳定性好这一点着实令我心动。价格上,BH不算便宜,原价似乎一直都是每月6.95美元。不过Google一下,还是可以找到每月3.95美元的优惠链接(需要一次性买两年才有这个价格)。加上每月2.5美元的独立IP,这一下子就花去了俺大约一千元人民币……可能你会问,为啥还要花钱买独立IP啊,虚拟主机的共享IP不是也可以用么?好吧,其实一开始我也是这么想的,但是当我开通空间后,第一时间就发现BH分配给我的那个共享IP无法访问(你懂的……)。于是,我只能乖乖花钱买独立IP了。
接下来就是把旧主机上的数据库和网站文件备份好了弄到新主机上来。别看前面这句话很简单,实际弄起来可不简单(当然了,我是第一次换主机空间,可能不是很熟悉操作)。
大致的搬迁步骤是这样的:
1)备份旧主机的数据库和网站文件
数据库直接通过后台的phpMyAdmin导出就行了,注意编码。“网站文件”在cPanel环境下一般就是指public_html目录下的文件,注意使用cPanel提供的压缩功能先压缩好再通过ftp客户端下载到本地,不然几千个小文件慢慢下载等死你……如果你知道哪些需要备份哪些不需要,也可以选择性地备份(如上传图片的文件夹),不一定要全部备份public_html目录。
比较厚道的主机商,会提供SSH功能,高手可以用这玩意快速在新旧主机之间转移文件,不必先下载然后再上传。可是俺的旧主机商没那么厚道,于是我只能按传统方法来了。
2)把备份好的数据库和网站文件恢复到新主机
一般人都是这么做的:直接把备份好的网站文件上传到新主机,新建一个(空的)数据库,然后导入备份好的旧数据库文件。这么做的好处是不用怎么改动就可以正常使用新环境了。但我决定在新主机上重装一次WordPress,因为旧主机上经过我几次折腾后,出现了各种莫名奇妙的问题(例如备份插件失效、WPtouch不起作用等等),一直未能解决。我想趁这次机会来个彻底的清理。
需要注意的是,旧主机上的网站还在运行,那我该如何用同一个域名在新主机上进行各种安装和配置呢?网上搜了一下,找到个好办法:本地强制解析域名。假设你的新主机空间IP为8.8.8.8,域名不变,依然是www.abc1234.com。那么,你可以修改本地操作系统的host文件,添加如下一行配置:
8.8.8.8 www.abc1234.com
这样一来,你在本地电脑上通过浏览器访问到的www.abc1234.com,指向的是IP为8.8.8.8的新主机空间。而别人能够访问到的这个网站,依然是指向你的旧主机空间IP的。这样就两方面都不影响啦。
我的重装WordPress步骤简单描述就是:上传最新版WP安装文件到新主机,直接全新安装(注意新主机上的wp-config文件中数据表前缀$table_prefix要和旧主机上的备份数据库一致),然后在cPanel导入旧数据库,并升级一次数据库(因为旧主机上的WP版本不是最新的)。期间在升级数据库后发现登录不了WP(使用旧主机上的WP用户名和密码),于是重置了密码,顺利解决。
导入数据库的过程中经历了一些小曲折,有几次奇怪的报错事件。不过我反复试了几次后,最终成功执行完导入。我猜这可能是网络连接不畅造成的,如果你也是第一次做类似操作的话,不妨选个网速好的时候执行,以保证效果。
接下来就是把备份网站文件中的各种图片,附件什么的,对应地整理恢复到新主机上去。这个还不是最耗时的,实际上我大部分时间都用在重新修改主题和各种定制上。比较好玩的一点是,因为数据库中保留了原有的插件记录,所以在新主机上重新装完插件后,基本上都不用修改插件的配置(少数例外,如Google XML Sitemaps最好是检查并重建一次)。
3)将域名解析指向新主机空间
本地测试新空间的网站没问题后,可以去域名注册商那里修改nameserver,改为新空间上的nameserver。按照网上的一些教程,我在动手搬迁网站前一天,把域名的TTL改得非常小(5分钟),据说这样有利于修改域名解析配置时迅速生效。这么做有没有道理我也没法进行解释,不过我在域名注册商那里修改完namerserver后,确实是几分钟就生效了。对了,还要注意把host文件添加的那行测试配置给删了。
折腾一番后,很有成就感。前面提过的,旧主机上的各种神奇问题都消失了,例如WPtouch终于生效了。砖家说,应该让旧主机上的网站保留一段时间,因为有些搜索引擎可能会继续尝试索引旧网站。反正再过几天我的旧主机就期满了,到时候也会被空间商主动删掉账号,我就不管它啦。
Ps:刚买完独立IP后,习惯性的ping了一次,发现超时,吓我一跳。研究了一阵才发觉,原来Bluehost禁止ping他们家的空间……
再Ps:刚装完WordPress 3.4.0不久,隔天进入控制台就发现它提示我升级,晕,WP又加了一个版本号变成3.4.1,看来过一阵我还得再升级一次……
发表回复