服务器到期续费贵、配置不够用、厂商服务态度劝退——站长总会遇到搬家这天。迁移最大的恐惧是搬家那几小时网站打不开、数据丢了半截。这篇给出一条不宕机动线,核心思路就一句:新站先搭好、验证好,再把流量切过去,旧机留足观察期。整个流程把前面几篇全部串起来用:新环境搭建按 LNMP 那套,打包备份用备份篇的脚本,DNS 知识用域名解析篇的底子。
迁移前三件事按顺序做。第一,提前 24 到 48 小时把域名的 TTL 从默认值降到 600 以下——TTL 是解析结果的缓存时长,降下来之后切换 A 记录,全球访客才能在十分钟内跟上变化,这一步不做,切完 IP 还有访客被旧缓存带着去旧机撞墙。第二,新服务器按系列前几篇把 Nginx、PHP、数据库、HTTPS 全部配齐,版本尽量对齐旧机,PHP 大版本不一致会埋兼容雷。第三,旧机做一次全量备份,迁移就是一次全程开着降落伞的跳伞。
# 1. 文件同步(rsync 断点续传,中断可续跑)
rsync -avz --progress /var/www/example.com/ \
root@新机IP:/var/www/example.com/
# 2. 数据库导出传输导入
mysqldump -u wpuser -p"库密码" wordpress | gzip > db.sql.gz
scp db.sql.gz root@新机IP:/tmp/
ssh root@新机IP "gunzip < /tmp/db.sql.gz | mysql -u wpuser -p'库密码' wordpress"
# 3. 新机本地验证(不依赖DNS,直接指IP)
curl -I --resolve example.com:443:新机IP https://example.com
验证环节的重点是 curl 的 --resolve 参数:它把域名的解析结果硬指到新机 IP,相当于戴上了“新站眼镜”做全站体验——首页、文章页、图片附件、后台登录全走一遍。这个验证必须做在切 DNS 之前,等切完才发现问题就变宕机了。WP 站还有个专属检查:数据库里存的站点 URL 如果带旧域名,新机直接跑可能跳回旧站,wp-config.php 里先加上 WP_HOME 和 WP_SITEURL 两个常量兜底。全绿之后,到 DNS 服务商把 A 记录指向新 IP,同时旧机 Nginx 保持运行——TTL 生效需要时间,期间新旧两台同时在线接客,谁被解析到都是完整服务。
切换后观察 72 小时:日志确认新机流量持续上涨、旧机流量归零;搜索引擎后台的抓取也指向新 IP;再处理收尾——TTL 调回大值省解析查询、旧机保留一周后才能退租、SSL 证书确认新机续期定时器在跑。两个禁忌:旧机数据在新机完全验证成功前一个字节都别删;搬家期间旧站最好停更,不然两边内容版本分叉,合并起来是一场噩梦。迁移做完,你等于把整个建站系列实战串讲了一遍——这条动线跑熟,服务器故障排查合集里那些“环境问题”你也已经有体感了。
相关阅读:搬家是上线动线的进阶动作。《从零建站第一步:技术栈选型总纲,别一上来就纠结框架》的路线图从首站一直排到迁移运营,本篇承接其中的迁移段,总纲建议收藏。
A5创业网 版权所有