网站迁移

华为云网站迁移怎么做?域名、数据库与切换步骤

网站迁移不是把文件复制到新服务器就结束。要同时处理程序、数据库、上传文件、DNS、证书、缓存和回滚,才能让用户平稳切换。

网站迁移与云上切换流程示意图
示意图:迁移前先盘点依赖,迁移中保留旧站,验证通过后再切换域名。

一、先做现状盘点和备份

迁移项目最容易出错的地方,是只看到了网站首页,没有看到首页背后的依赖。一个 WordPress 网站至少包含程序文件、主题和插件、上传目录、数据库、域名解析、HTTPS 证书以及定时任务。静态网站还可能依赖对象存储、CDN 和第三方表单。迁移前把这些内容列出来,才能知道哪些需要复制、哪些需要重新配置、哪些需要先做测试。

记录当前域名、解析记录、源站 IP、网站目录、运行环境、数据库类型、图片路径、后台地址和证书到期时间。不要把密码直接写进公开文档,可以用凭证由负责人保管这样的占位说明。盘点的结果要能让另一个人根据文档找到站点入口和依赖关系。

备份至少分为三类:网站代码和配置文件、数据库导出文件、图片和其他上传资源。备份后检查文件大小、压缩包是否能打开、数据库导出是否包含表结构和数据,并把备份复制到与源站不同的位置。只有一份放在旧服务器上的备份,不能算可靠的迁移保障。

二、在华为云 ECS 预演新环境

新 ECS 先安装与原站兼容的系统和运行环境,再部署 Nginx、PHP、数据库或 Docker。不要一开始就把域名切过来,可以使用临时域名、hosts 文件或直接访问测试入口,先确认首页、文章、后台、图片、表单和静态资源都能正常加载。预演阶段出现问题的成本最低,适合调整 PHP 版本、文件权限、数据库字符集和 Nginx 重写规则。

如果网站使用外部存储或 CDN,要在测试环境单独验证资源路径。图片地址不能因为域名切换而全部失效,Cookie、回调地址和接口白名单也可能需要同步修改。迁移结果不应只由首页截图证明,至少要抽查一篇文章、一个带图片页面、一个表单和一个后台功能。

三、迁移数据库并校验数据

动态网站的数据库保存文章、用户、设置和业务状态。导入新数据库后,先检查表数量、数据量、字符集和关键表内容,再修改网站配置中的数据库主机、端口、用户名和密码。数据库账号应只拥有当前网站需要的权限,不要把主账号写进程序配置。

WordPress 迁移还要注意站点 URL、媒体附件路径、固定链接和插件配置。若域名不变,尽量不要做不必要的全库替换;若域名发生变化,要先备份再处理序列化数据,并在测试环境检查文章内链、图片和登录跳转。数据库迁移完成后,应在新环境新增一篇测试内容或完成一次后台保存,再确认数据确实写入新库。

四、安排 DNS、HTTPS 和正式切换

新环境验证通过后,降低 DNS 记录 TTL,选择访问量较低的时间执行切换。修改 DNS 前确认 A 记录、CNAME、邮件记录和子域名没有被误删。若使用 CDN,应先把 CDN 加速域名和回源配置完成,再让业务域名指向 CDN,而不是临时把用户直接导向源站。

证书需要覆盖正式域名,切换后分别访问 HTTP、HTTPS、根域名、www 子域名以及文章链接。DNS 在不同网络的生效时间可能不同,因此切换后旧站不要马上删除。保留旧源站一段观察时间,持续查看新服务器访问日志、错误日志和数据库连接。

五、用验收表决定完成还是回滚

验收至少包含:首页、文章、图片、CSS、JavaScript 和 favicon 可以打开;后台可以登录,新增或修改内容可以保存;数据库读写正常,备份文件可恢复;HTTP 跳转 HTTPS,根域名和 www 入口符合规划;CDN、对象存储和表单等外部依赖响应正常;错误日志没有持续的 4xx、5xx、重定向循环或上游连接错误。

切换失败时先把 DNS 或 CDN 入口恢复到旧站,再分析问题。不要在故障期间同时修改 DNS、程序和数据库,否则很难判断哪一步造成问题。迁移完成后,把新环境的部署命令、目录、备份位置、证书续期方式、DNS 记录和回滚路径写成交接文档。

常见问题

迁移时可以直接修改 DNS 吗?

建议先完成新环境预演和验收,再在低峰期切换。切换前降低 TTL,切换后保留旧站,便于快速回滚。

WordPress 迁移只复制网站文件可以吗?

不可以。文章、用户、设置和插件数据在数据库中,上传图片也需要同步,三者缺一都会造成页面或后台异常。

怎样判断迁移真的完成?

不仅要看首页,还要验证文章、图片、后台写入、数据库读写、HTTPS、CDN、日志和备份恢复。

准备迁移现有网站?

先整理当前源站、域名、数据库、图片资源和备份,再安排华为云 ECS 的预演与切换。

咨询迁移路径