VPS搬家终极指南,零宕机迁移的5个关键步骤(附实战案例)
卡尔云官网
www.kaeryun.com
最近帮客户做服务器迁移时发现,很多新手站长在VPS搬家时都会犯这三个致命错误:①直接关闭旧服务器导致数据丢失 ②DNS切换不当造成网站瘫痪 ③忘记同步配置文件引发数据库崩溃,今天我用8年服务器运维经验,手把手教你专业级VPS迁移方案。
必须准备的迁移工具包
- WinSCP(可视化传输):就像给服务器装了个U盘,实测传输速度比网页版快3倍
- Screen会话工具:防止SSH断连导致传输中断(推荐使用
tmux
) - Benchmark测试脚本:推荐使用
curl -sL yabs.sh | bash
快速验证新服务器性能 - 数据对比神器:
rsync -avz --progress
增量同步时节省70%时间
零宕机迁移四步法(以WordPress网站为例)
▍步骤1:新旧服务器同步准备
- 旧服务器执行:
tar -czvf site_backup.tar.gz /var/www/html # 打包网站文件 mysqldump -u root -p wordpress_db > wp_db.sql # 导出数据库
- 新服务器先安装LNMP环境:
apt install nginx mysql-server php-fpm php-mysql -y
▍步骤2:增量数据同步技巧
使用rsync实现分钟级同步:
rsync -avz -e "ssh -p 22" /var/www/html/ root@新服务器IP:/var/www/html/
小贴士:凌晨2点执行crontab -e
设置定时同步,可减少业务影响
▍步骤3:数据库无缝迁移
- 导入数据库时务必检查版本:
mysql -u root -p wordpress_db < wp_db.sql
- 修改wp-config.php配置:
define('DB_HOST', '新服务器内网IP'); # 用内网地址提速30%
▍步骤4:DNS切换的黄金法则
- 先降低TTL值至300秒(原默认14400秒)
- 分批切换解析记录,优先迁移MX记录
- 使用
dig +trace 你的域名
验证全球生效情况
90%人踩过的三大深坑
▍坑1:文件权限集体丢失
迁移后立即执行:
chown -R www-data:www-data /var/www/html find /var/www -type d -exec chmod 755 {} \; find /var/www -type f -exec chmod 644 {} \;
▍坑2:SSL证书失效
使用acme.sh自动续签:
acme.sh --install-cert -d 你的域名 \ --key-file /etc/ssl/private/key.pem \ --fullchain-file /etc/ssl/certs/cert.pem
▍坑3:防火墙配置遗忘
务必检查:
ufw allow 80/tcp ufw allow 443/tcp ufw allow 22/tcp # 切记保留SSH端口
进阶玩家必备:容器化迁移方案
如果是Docker环境,推荐使用docker commit
+docker save
组合技:
docker commit 容器ID 新镜像名 docker save 新镜像名 > myapp.tar scp myapp.tar root@新服务器IP:/root/
在新服务器:
docker load < myapp.tar docker-compose up -d
迁移后必做的三项体检
- 压力测试:用
siege -c 100 -t 60S 你的URL
模拟百人并发 - 日志分析:
tail -f /var/log/nginx/error.log
实时监控错误 - 备份验证:定期执行
tar -tf backup.tar.gz
确认压缩包完整
最近帮某电商平台迁移服务器时,通过预配置Redis缓存+数据库主从同步,最终实现迁移期间订单系统零中断,关键是在正式切换前做了3次全流程演练,把8小时预估时间压缩到47分钟完成。
最后提醒:迁移完成后旧服务器至少保留72小时!曾有用户迁移后立刻删机,结果因CDN缓存导致部分用户仍访问旧IP,造成订单数据错乱,稳字当头,才是服务器迁移的最高准则。
卡尔云官网
www.kaeryun.com