网站搬家实战:从旧服务器到新服务器完整指南

网站搬家实战:从旧服务器到新服务器完整指南

你决定换服务器了。新机器配置更高,价格更便宜。但问题来了:旧服务器上的网站怎么搬过去?直接复制粘贴?可能漏文件。重装一遍?太慢。最怕的是搬完之后网站出问题,用户骂你,你还不知道怎么回滚。

今天聊一套完整的网站搬家流程,覆盖文件迁移、数据库迁移、环境配置、DNS切换、回滚方案。照着做,搬家不翻车。

先看一个数据

网站迁移失败的主要原因有三类:数据库连接配置错误、文件权限不对、DNS切换后缓存导致部分用户访问旧站。这些问题有规律可循,提前准备就能避免。

迁移前的准备工作:把路铺好

动手之前,先把两件事做好。

第一,摸清家底。 登录旧服务器,确认网站文件多大、数据库多大、用了什么PHP版本。文件总量<50GB用rsync通常够用;数据库>10GB要考虑主从复制替代mysqldump。另外检查有没有cron定时任务、邮件服务等隐性依赖

第二,提前降低DNS的TTL。 这是零停机迁移的关键。大多数域名默认TTL为3600秒甚至86400秒,意味着DNS变更后要1-24小时才能全球生效。提前24-48小时把TTL降到300秒(5分钟),最终切换时生效窗口从几小时压缩到几分钟

第一步:备份数据(三层备份)

正式迁移前,至少准备三层备份

网站文件备份: 打包整个网站目录。用宝塔面板可右键“压缩”生成备份文件;命令行操作:

bash

tar -czvf website_backup.tar.gz /var/www/html

数据库备份: 用mysqldump导出。大型数据库(超过1GB)建议分卷备份

bash

mysqldump -u用户名 -p密码 数据库名 > database_backup.sql

配置文件备份: Web服务器配置(Nginx/Apache)、PHP配置、SSL证书文件都要保存

只有能恢复成功的备份,才算备份完成

第二步:新服务器环境配置

在新服务器上搭建与旧环境一致的环境

  • 操作系统:尽量保持一致
  • PHP版本:必须相同(如PHP 7.4)
  • 数据库版本:MySQL/MariaDB版本匹配
  • Web服务器:Nginx或Apache版本一致

如果使用宝塔面板,先在目标服务器安装宝塔,通过“软件商店”安装相同版本的组件。然后在目标服务器创建与源服务器同名的数据库和用户,密码也保持一致

第三步:两阶段数据同步

零停机的核心技巧是“两阶段同步”:先全量同步,切换前再增量同步,把停机窗口压缩到最短

文件同步——用rsync:

第一次全量同步(迁移前24小时),排除缓存和日志目录

bash

rsync -avz --exclude='cache' --exclude='logs' /本地路径/ 新服务器用户@新IP:/目标路径/

切换前10分钟做增量同步,加--delete确保两边完全一致

数据库同步:

mysqldump导出时加上--single-transaction,InnoDB引擎不会锁表。切换前在旧站点短暂开启维护模式,导出最新数据后立即恢复。

第四步:测试新服务器(先别切DNS)

数据同步完成后,不要立即切换DNS。先用本地hosts文件绑定域名到新服务器IP,做完整测试

  • 首页能正常加载,CSS/JS不缺失
  • 后台能登录
  • 表单提交、搜索、登录等交互功能正常
  • SSL证书显示有效
  • 数据库读写正常

确认所有功能无误后,再进入下一步。

第五步:执行DNS切换

选择访问量最低的时段(凌晨2-4点)执行切换。登录域名注册商后台,把A记录从旧服务器IP改为新服务器IP。由于提前把TTL降到了300秒,全球DNS节点会在5分钟内更新

切换后用dig命令从不同公共DNS(8.8.8.8、1.1.1.1)查询,确认已指向新IP

第六步:迁移后验证与监控

DNS切换后,立即在新服务器上监控访问日志,确认请求开始进来。同时检查:

  • 新服务器上的cron定时任务是否按预期执行
  • 数据库读写是否正常
  • 旧服务器访问日志是否归零

第七步:回滚方案(最重要的后手)

切换后万一出问题,必须有回滚方案。保留旧服务器至少7天,它是你的安全网

回滚步骤很简单:把DNS A记录改回旧服务器IP,由于TTL已是300秒,5分钟内流量就切回来了。回滚后检查旧服务器的数据库是否有切换期间产生的新数据,避免数据丢失

真实案例

一个日IP 5000的WordPress资讯站,从旧服务器搬到了新机器。提前把TTL降到300秒,凌晨2点执行rsync增量同步,3分钟内完成DNS切换,5分钟后全球生效。用户无感知,网站没停过。

最后一句

网站搬家不是“复制粘贴”。备份、同步、测试、切换、回滚,每一步都要有方案。照着这个流程走一遍,你的搬家任务大概率不用熬夜抢救数据。

知识库

SSH连接被拒绝?10种常见错误与解决方法

2026-6-25 15:37:36

实操指南知识库

存储即计算(CSD)技术如何重塑服务器架构?

2025-1-21 14:52:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧