Top.Mail.Ru
中文
迁移 · 阅读约 15 分钟

如何把网站迁移到 VPS 而不丢失数据

安全迁移不只是复制文件:还包括数据库、DNS、TLS、邮件、定时任务、外部集成和可执行的回滚计划。下面是一套从盘点到旧服务器下线的完整流程。

网站从旧主机迁移到新 VPS 并切换 DNS 的步骤
本文目录迁移方案盘点准备 VPS复制测试DNS切换后错误常见问题

先选择迁移方案

静态站可以一次复制;内容站通常需要初次同步和最终增量同步;商店、论坛与会员系统在切换时仍可能写入订单和消息,因此需要短暂只读或维护窗口。数据库很大时,应考虑复制、增量备份或专业迁移工具。

设定可接受停机时间、数据丢失窗口和回滚条件。提前降低 DNS TTL 只能缩短缓存时间,不能保证所有解析器立即刷新。

步骤 1:列出所有依赖

项目需要记录常被遗漏
文件站点根目录、uploads、权限、符号链接隐藏文件与站外存储目录
数据库类型、版本、字符集、大小、用户事件、触发器与扩展
运行环境PHP/Node/Python 版本和模块系统库与环境变量
基础设施DNS、TLS、cron、队列、邮件Webhook、IP 白名单和回调地址

同时记录平均和峰值 CPU、内存、磁盘与流量,以便按实际负载选择新 VPS,而不是机械复制旧套餐。

步骤 2:创建可验证的备份

分别备份站点文件和一致性数据库 dump,并把副本存到旧主机之外。记录校验和,确认归档可以解压、dump 可以导入。对邮件、DNS 区域、证书和计划任务也应保留可读配置。

迁移控制点:切换 DNS 前,应有两份彼此独立的副本、明确的恢复方法以及旧服务器访问权限。控制面板快照本身不能覆盖全部风险。

步骤 3:准备新 VPS

若计划同时升级运行时,先以相同版本完成迁移,再单独升级,便于定位问题和回滚。

步骤 4:迁移文件和数据库

先复制大部分文件,再在切换前做增量同步。保留属主、权限、时间戳和符号链接,但不要无条件继承不安全权限。数据库使用官方 dump/restore 或一致性快照,导入后检查字符集、时区、扩展和用户权限。

替换配置中的连接地址、绝对路径与旧域名。不要把生产 secret 写进仓库;在新主机安全注入并限制读取权限。WordPress 等 CMS 可能在序列化数据中保存 URL,应使用了解其格式的工具替换。

步骤 5:在切换 DNS 前测试

通过本机 hosts 文件或临时受保护域名访问新 VPS。测试首页不够,要覆盖登录、搜索、表单、上传、邮件、结算、Webhook、后台任务和管理后台。检查浏览器控制台、应用日志和 4xx/5xx。

  1. 核对所有主要页面与静态资源。
  2. 测试写入:创建、编辑、上传和删除测试数据。
  3. 确认 HTTPS 证书链、跳转与 canonical。
  4. 运行 cron、worker、队列和外部 API。
  5. 执行一次新服务器备份并验证可恢复。
  6. 从目标用户地区测响应和路由。

步骤 6:最终同步并切换 DNS

在约定窗口暂停写入或开启维护模式,完成最后的文件增量和数据库同步,再核对记录数与校验和。更新 A/AAAA 或负载均衡记录,并持续观察新旧两台服务器的访问日志。

不要立即修改所有相关服务。邮件 MX、第三方回调和子域名应逐项确认。DNS 传播期间旧服务器保持工作,必要时阻止其产生无法同步的新写入。

步骤 7:切换后的检查

从不同网络检查 DNS、TLS、页面、表单和后台任务。监控 CPU、内存、磁盘、数据库连接、5xx 和队列积压。更新搜索引擎与监控中的地址只在 URL 结构改变时需要;同域迁移无需提交全新站点。

旧服务器至少保留一个完整 TTL 周期并根据业务延长数日。确认备份、日志和必要审计数据已导出后,再安全删除 secret 与数据。

回滚计划

预先写明触发条件,例如错误率、丢单、数据库损坏或不可接受的延迟。回滚可能是把 DNS 指回旧站,也可能是恢复数据库;如果新站已经接收写入,就不能简单回退而丢掉新数据。应明确由谁决定、如何合并数据以及何时停止继续尝试。

常见错误

常见问题

迁移要多久?

小站可在数小时内完成,大型数据库与复杂集成需要数天准备。真正停机通常只发生在最终同步窗口。

没有旧主机面板权限能迁移吗?

只要能读取文件、导出数据库并管理 DNS,通常可以;若这些权限也缺失,应先由所有者恢复访问。

需要迁移 SSL 证书吗?

可在新机重新签发免费证书,先确保域名验证可完成。商业证书则按供应商要求安全迁移私钥。

什么时候关闭旧服务器?

至少等 DNS 缓存过期、新站稳定运行并验证备份后。关键业务应保留更长观察期。

如何选择新 VPS?

根据实测峰值、增长余量、地区、磁盘和总费用筛选,详见VPS 选购指南

为迁移选择 VPS按实测负载、磁盘、地区和续费成本比较服务器。
打开目录

迁移 CMS 时,也请核对WordPress VPS 检查清单