WordPress 博客迁移并升级

作者 FarLee 2011年1月18日 0:16:28   ‖浏览(38,643)

WordPress 博客用了将近一年的国内虚拟主机这几天就快到期了,使用这家虚拟空间的上半年三天两头服务器升级,更换IP等各种问题,差不多一个星期就会当机一次;下半年开始他们升级到了分布式集群主机,号称打造中国主机航母,稳定性的确有了很大的提升。但是有两个因素让我不得不更换博客主机,首先他们供应的是windows IIS 服务器,其次是主机商曾经好几次因“违反互联网内容管理条例”将我的博客关闭,最后不得不将几篇文章设为私有化之后才重新开启,貌似大部分国内主机都会阉割像我们这样的博客。

这次Wordpress 博客迁移是从国内windows IIS主机转移到美国虚拟主机Linux apache 服务器。同时博客现在使用的是3.0中文版本,而WP当前版本已经更新到了3.0.4,因此在博客迁移的同时顺便进行升级到最新wordpress英文版本。以下是整个过程的记录:

1. WordPress 备份

博客迁移和升级之前,第一件事备份程序文件和数据库。注意phpmyadmin导出数据库时候需选择 utf-8编码,很多国内空间会默认导出GB2312 编码的sql 文件。

2. WordPress 新空间导入数据库

在新的美国主机空间创建好数据库,导入第一步备份好的sql数据库。虽然wordpress博客数据库是3.0的,并不需要先升级再做迁移,只需在迁移的同时进行升级,其实和WordPress 安装过程有点像,请直接跳到第3步继续博客迁移并升级的步骤。

当然如果先将博客升级到Wordpress 3.0.4,然后备份这些文件和数据库,最后才开始博客空间的迁移也是可以的。如何升级参考文章:WordPress 升级。因为博客当前使用的是wordpress 3.0中文版,需要升级成3.0.4英文版,如果进入管理后台点击Automatic Update 的话,将会升级成  WordPress 3.0.4–zh_CN,即中文版。故采用Wordpress 手工升级,以下简单描述WordPress 手工升级过程

备份->后台停用插件->删除wp-includes 和wp-admin目录(一定要删除,留有旧版本文件可能会无法正常升级;不要删除wp-content文件夹,里面有我们自定义的上传文件和目录)->解压Wordpress 3.0.4.zip并上传新版本中的所有文件和目录,包括wp-includes、wp-admin、wp-content目录(上传过程中覆盖所有旧的wp-content目录中的文件和子目录:Override All;上传Wordpress 核心的wp-content文件夹不会替换自定义的文件,除非使用了默认主题twentyten并修改过;另外插件akismet将升级)->上传根目录下的所有新版本文件,wp-config.php 不会被覆盖 (检查wp-config-sample.php是否有新特性需要加入到你的wp-config.php文件中。如果原来是中文版的wordpress 需要升级成英文版,注意也要将wp-config.php更换成英文版的,否则登陆后台还会提示你升级最新版本WordPress 3.0.4 is available! Please update now)->登陆wp管理后台,如果新版本需要升级数据库,这时候会提示升级数据库(从wordpress 3.0 升级到wordpress3.0.4 不用升级数据库)->重新启用wp插件。

3. 新空间添加域名

虚拟主机即点击 Addon domains。

4. 上传新版本wordpress 文件

4.1 通过linux 命令行或FTP上传新版本的Wordpress 3.0.4 (英文版)解压文件;

4.2 修改wp-config.php文件中的数据库信息和数据库表前缀(如果修改过的话);

4.3 上传备份的整个wp-content文件夹,再上传新版本中解压的wp-content目录:覆盖已经存在的旧版本文件,不会覆盖自定义的上传文件及目录。

4.4 上传覆盖备份的robots.txt  ,googlecse.html 等wordpress根目录或其他目录下所有修改过的文件。

4.5 记住上一个版本哪里修改过核心文件,这次博客迁移和升级考虑不再修改核心文件,因为马上又要升级wp3.1了,每次修改核心文件给升级带来了很大麻烦,以下是远方博客修改过的核心文件记录:

5. 其他 

IIS  切换到 apache ,IIS 下 url rewrite 的老方法用不到了,同时permalink 永久固定链接也无效,需要使用apache的.htaccess 文件来启用url rewrite功能。一种方法是自己上传.htaccess文件到网站根目录下;另外一种方法更简单,直接进入wp管理后台,跳转到general-> permalinks 这里,发现设置还是一样,不用修改任何内容,直接点击save changes,wordpress会自动生成.htaccess文件。再在.htaccess中加入www 域名重定向设置。linux apache 服务器.htaccess 文件自动支持URL rewrite 重写,不用IIS 实现 url rewrite 那么麻烦了,301转向(重定向跳转)的实现也一样很简单,该美国虚拟主机服务器设置自动支持www域名301重定向到非www顶级域名farlee.info,但是虚拟主机的二级域名不会跳转,在.htaccess 文件头部加入以下规则即可:

RewriteEngine on
rewritecond %{http_host} !^.farleeh.info$ [nc]
rewriterule ^(.*)$ http://h.farll.com/$1 [r=301,nc]

网站根目录下的wordpress 404页面 404.php也不用了。404页面也直接可以用wordpress程序自带的。

6. wordpress 博客迁移与升级测试

可以先使用虚拟主机附送的二级域名进行测试网站是否正常,或者修改本地host文件(Windows下)进行测试,正常则可以在域名注册商处修改域名DNS解析,指向新的美国虚拟主机空间了。

注:Godaddy 域名dns 域名服务器修改成使用空间的NS后,godaddy邮箱也要改mx记录,因为还要用godaddy的邮箱,而且新空间提供了ip,所以最好还是修改A记录,仍然使用godaddy的域名服务器解析服务,这样可以保证邮箱不用另外设置即可使用。

最后顺便升级下那些需要升级的插件:在插件管理页面,点击upgrade automatically,卸载删除用不到的wordpress插件。还要逐个检查插件使用情况,比如WordPress google xml sitemap插件出现问题:The last build succeeded, but the file was deleted later or can’t be accessed anymore. Did you move your blog to another server or domain?点击rebuild the sitemap manually即可。


“WordPress 博客迁移并升级”文章评论(5)

  1. 文章真的不错啊!!支持了!!![url=www.scvb.info]绿瘦减肥药价格[/url

  2. 迁移 了 就好!

  3. 谢谢了分享

    不过看了还是感觉很复杂

Trackbacks/Pingbacks

  1. Wordpress博客网站更换空间对SEO影响 – 远方博客
  2. 信用卡购买 linode vps,过期未续费中 – 远方博客

来说兩句