迁移的顺序其实很朴素
上周我把自己的网站从一台服务器整体搬到了另一台上,两地隔着一个太平洋。过程比想象中顺利,踩的坑也都记了下来。
迁移的顺序其实很朴素:先在新机器装好环境,然后导数据库、打包 wp-content、改配置、换域名解析。数据库用 mysqldump 一条命令解决,但站点地址写死在数据库的几百个地方,直接替换会搞坏序列化的 PHP 数据,得走 unserialize 再 serialize 的安全替换,我把全库扫了 131 批才替换干净。
坑一:DNS 的 24 小时
如果 TTL 还是默认的 24 小时,切换解析后老用户可能在一天内打到旧服务器。所以提前 24 小时把 TTL 调到 600 秒,是迁移准备工作里性价比最高的一步。
坑二:被拦掉的 404 页面
迁移完发现主题精心设计的 404 页面不生效,全被服务器层 error_page 拦截跳去了静态 404.html。注释掉那一行、reload,页面立刻活了。环境层的「好心配置」经常会盖过应用层的设计,排查顺序应该是:先看服务器,再怀疑代码。
别急着退旧机器
我把旧服务器保留了一周,观察 DNS 全球生效、确认没有漏网的定时任务(WP-Cron 的邮件、催办、备份都挂在上面的日子还历历在目),再做了最后一次全量备份才下线。
整个过程加起来不到半天。网站迁移听起来吓人,拆开看就是:数据库一份、文件一份、配置一份、DNS 一条。把每一步提前写成清单,剩下的只是执行。

