wordpress

WordPress跨域名完美迁移实战

由于 众所周知 的原因,我将要把博客从http://www.longtings.com换到你现在所看到的https://www.mokeyjay.com上,服务器也从日本搬回到国内。但我苦心经营好几年的博客、上百篇的文章怎么舍得放弃呢?自然是不可能重新搭建的,因此迁移工作势在必行。

准备工作

首先你得确认你的新域名,如果你还像我一样需要更换服务器的话,还得先开通服务器、搭建好PHP环境。

然后开始备份数据,为了方便我们先打包一下再下载,基于个人习惯我使用zip格式

cd /home/wwwroot/www.longtings.com
zip -r /root/backup.zip ./*

当然你也可以用虚拟主机控制面板中的压缩功能进行打包。最后将生成的zip文件下载到本地即可

接下来该导出数据库了,在此之前我建议你可以先装个类似WP-Optimize的Wordpress数据库清理插件,因为Wordpress会在你写文章时每隔一段时间就保存一份副本以防万一。然而Wordpress并不会自动删除它们,所以时间长了就会有很多冗余无用的数据占据在数据库里,清理一下会比较好

至于导出,开了外网的可以用客户端软件,没开的用phpmyadmin之类的导出一份sql就行了

修改数据

SublimeNotepad++之类的文本编辑器打开刚导出来的sql文件,搜索原来的博客链接(例如http://www.longtings.com),全部替换为新地址(例如https://www.mokeyjay.com)。如果需要的话还可以将一些数据修改一下,例如将longtings替换为mokeyjay。在一些情况下,你想替换的文章内容可能会与其他数据冲突,当你无法使用批量替换只能手动一个一个替换时,你就会明白我上面为何建议你先清理一下冗余数据了(说多了都是泪

上传数据

一切就绪,先把网站代码zip包上传到新的服务器(如果换服务器的话),然后解压缩

unzip -od /root/wwwroot/www.mokeyjay.com /root/backup.zip

然后导入修改后的sql文件到数据库,最后修改wp-config.php中的路径、数据库配置信息

如果你运气比较好的话,迁移到这里就顺利完成了

发现并解决问题

满怀激动地访问新域名,然而一直转圈圈没反应,执行top命令查看,发现CPU占用竟达到99.9%!吃惊之余重启环境、服务器,问题依旧。重新进行迁移并手动替换sql中的链接(2000+的链接啊我的小心脏……),再次访问,问题依旧。于是各种排查无果,耐心耗尽。心想着干脆删了wp-config.php,让Wordpress以为自己没有被安装过,重新在有数据的数据库上进行安装也许就行了呢?Just do it。安装Wordpress到最后一步时,显然它已经发现我欺骗了它,告诉我想要重新安装请先清除数据库。不过此时新的wp-config文件已经出现了,安装过程中也没有报错。我试着访问了一下新域名,竟然顺利打开了!

收尾工作

重新配置一些插件,例如百度sitemap多说之类的需要重新验证;WP Super Cache需要重新设定缓存存储路径之类的

更新一下“关于”页面,通知朋友们修改友链。像我还换了一套新主题,顺便花了2个小时设计了新的分类目录并将以前的文章全部重新分类

结语

我好像浪费了很长时间来写了一篇毫无营养的博文……其实我最早只是想提醒大家在迁移Wordpress后如果出现打不开的情况,可以试着删除wp-config文件之后再试也许就正常了。结果强行写了那么长,好吧~

4 条评论

昵称
  1. 夜绫千裕

    我用https://managewp.com 搬迁,完全不需要手动操作

    1. mokeyjay

      [吃惊]卧槽还有这等好东西

  2. my1e0n

    换域名也换名字啦?

    1. mokeyjay

      是啊,正好重新开始