DC的杂谈 · 2020年4月2日 0

【杂谈】WordPress迁移小记

断断续续经过近1个月的折腾,总算是将这个博客从以前的服务器迁移到了新的服务器上,简单记录一下遇到的坑吧。

迁移的部分原因是建立这个博客时使用了Ubuntu Server 16.04,明年LTS就将到期,所以想要尽快迁移到18.04上;而给服务器更新操作系统最简单也最不容易出错的方式就是重新装一个,所以最后决定再开一台Ubuntu 18.04的机器,配置好相关软件后直接迁移过去。另一部分原因是在香港的机房建立了几个公开站点后,DigitalOcean(及其他服务商)位于美国境内的机房就显得不那么快了——毕竟物理定律没法违反,距离远延迟就是高,所以等到选好位于香港的稳定的服务器后一定会再有一次迁移。综上,为了不知何时会发生的“下一次”迁移能够顺利进行,我决定提前练习一下,也顺便把操作系统给升级了。

最初我想利用WordPress插件比较自动化地进行迁移,于是用WPvivid Backup进行了数次迁移。从结果上看,数据库和网站文件都能迁移过来,但访问首页以外的页面全部都会404。之后因为一些事情把迁移工作先放了一放,所以也没深究问题的原因。

等今天决定再试一次的时候,为了排除插件出现问题的可能,我手动备份、拷贝和恢复了数据库及网站文件,并直接照搬了原有的配置文件。理论上来说这是最不可能出问题的方式了,然而依旧,除首页外全部404。这时我注意到我无法通过HTTPS访问站点,哪怕是首页,这才想起来SSL模块没有启动。启动SSL后我又意识到我设定的HTTP跳转HTTPS没有起效,仔细想了想才记起需要启用Rewrite模块。这两个模块启用后,博客就恢复正常了,原本失效的固定链接也不会404了。

复盘了一下发现,我原本使用的是DigitalOcean自带的WordPress应用镜像(相当于预装了WordPress的Ubuntu Server),有一些配置项已经发生了改变,而我的新网站也一直使用这套LAMP环境,可能就没有意识到其实有些配置项并不是默认的。

懒得写了,有空再来补充。