VPS 网站迁移实战:从旧服务器平滑搬家到新服务器的完整指南


很多站长在网站运营过程中,几乎都会遇到一个绕不开的问题——搬家。服务器快到期、服务商跑路、配置不够用、想换机房提速,任何一个原因都意味着要把网站从一台 VPS 平滑迁移到另一台 VPS。迁移这件事看着简单,真做起来坑却不少:数据库导不全、文件权限错乱、域名解析切换后网站打不开,任何一个环节出错都可能让网站长时间无法访问。本文按真实操作顺序,把 VPS 网站迁移从备份、打包、恢复、测试到域名切换一次讲清楚,照着做就能把搬家风险降到最低。


一、迁移前准备:先摸清家底


1. 盘点网站依赖:网站程序、数据库、附件上传目录、定时任务(crontab)、环境配置(PHP 版本、Nginx/Apache 站点配置、伪静态规则)、SSL 证书。


2. 确认新旧环境一致:新 VPS 尽量安装同款面板(原来用宝塔就装宝塔)和同版本环境,PHP、MySQL 版本差距过大容易出现兼容问题。


3. 提前申请停机窗口:选择访问量最低的时段操作,并在网站上提前公告维护时间。


4. 先跑通新环境:把新服务器的面板、网站运行环境先装好,确认空站点能正常打开,再开始正式迁移。


二、备份旧服务器数据


1. 网站文件:宝塔面板可直接在网站菜单打包网站目录;纯命令行环境用 tar 打包,打包时排除缓存、日志目录(runtime、cache、logs 这类重新生成即可),可以省下大量时间和流量:tar -czf site.tar.gz /www/wwwroot/你的站点目录 --exclude=runtime --exclude=cache


2. 数据库:命令行导出数据库备份文件:mysqldump -u用户名 -p密码 数据库名 > db.sql


3. 定时任务:导出 crontab 列表,方便迁移后逐条恢复:crontab -l > cron.txt


4. 将备份文件下载到本地或直接上传到新服务器。


三、恢复数据到新服务器


1. 解压网站文件到新服务器对应目录,并核对目录权限(网站文件一般归属 www 用户,目录 755、文件 644)。


2. 导入数据库:mysql -u用户名 -p密码 数据库名 < db.sql


3. 修改网站配置文件中的数据库连接信息:新服务器的数据库名、用户名、密码大概率与旧服务器不同,需要逐一核对并更新。


4. 清空缓存:如果网站用了 Redis、Memcached 或各种页面缓存,恢复后先清空缓存再测试访问。


四、迁移站点配置与证书


1. 站点配置:在宝塔中新建站点并保持目录路径与旧服务器一致,伪静态规则、反向代理、防盗链等配置对照旧服务器重新设置。


2. SSL 证书:将旧服务器的证书私钥和证书链导出,到新服务器重新部署;如果用的是 Let's Encrypt 免费证书,直接在新服务器上重新签发更省事。


3. 定时任务:根据 cron.txt 在新服务器逐条恢复定时任务,注意脚本绝对路径可能已变化。


4. 环境变量与依赖:如果程序使用了 .env 等配置文件,记得同步;PHP 扩展、组件缺失也要在新环境补齐。


五、测试与域名切换


1. 本地 hosts 先行测试:在本地电脑的 hosts 文件中临时把域名解析到新服务器 IP,完整访问一遍网站,重点测试登录、上传、支付、邮件发送等动态功能。


2. 确认无误后,再到域名服务商处将解析记录切换到新服务器 IP。切换前建议把 TTL 调小(如 300 秒),可以显著加快切换生效速度。


3. 保留旧服务器作为回滚方案:切换后先不要关闭旧服务器,保持运行几天,一旦新站出现异常可以立即回滚。


4. 持续观察:切换后重点监控新服务器的资源占用、错误日志和访问量,观察 24 至 48 小时。


六、迁移后的收尾工作


1. 在新服务器上重新配置并测试自动备份任务,确保备份体系在新环境正常工作。


2. 检查 CDN、对象存储、邮件服务等外部依赖是否还指向旧服务器,统一调整到新地址。


3. 确认新站稳定运行后,再清理旧服务器数据并退订旧机器,避免重复付费。


4. 将新服务器纳入日常监控与告警体系,更新运维文档中的服务器信息。


总结:网站迁移绝不是把文件复制过去就完事,数据库、运行环境、站点配置、SSL 证书、定时任务这些看不见的东西必须一起搬过去。只要按照备份、恢复、测试、切换、收尾的顺序操作,并始终保留一份可回滚方案,搬家完全可以做到无感切换。希望这篇教程能帮到正在准备搬家或将来会遇到的站长们。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

-

MP-TEST

评 论