迁移前先建立可回退的方案
虚拟主机迁移最常见的问题,不是复制失败,而是旧站被提前关闭、数据库漏导或域名解析过早切换。开始前应完整备份网站文件和数据库,记录原主机的 PHP 版本、扩展、伪静态规则、定时任务与域名配置,并确认旧主机在迁移完成后仍能保留一段时间。
第一步:盘点网站环境
登录原虚拟主机控制面板,记录站点根目录、数据库名称、字符集、PHP 版本以及 SSL 状态。WordPress 用户还应检查 wp-config.php,其他程序则找到对应的数据库配置文件。若使用 CDN,保存当前回源地址和缓存规则。
第二步:备份文件与数据库
优先使用控制面板打包网站目录,避免通过 FTP 逐个下载大量小文件造成遗漏。数据库应导出为完整 SQL 文件,并确认文件大小合理、包含数据表结构与内容。备份完成后,最好在本地解压检查,并保留原始压缩包。
第三步:在新虚拟主机恢复网站
- 创建新数据库和数据库用户;
- 上传并解压网站文件到正确根目录;
- 导入 SQL 数据库;
- 修改程序中的数据库地址、名称、用户名和密码;
- 设置与旧站一致或兼容的 PHP 版本和扩展;
- 复制伪静态规则并检查目录权限。
如果新主机提供临时域名或免费二级域名,可以先用它测试首页、后台、文章页、搜索、上传和表单功能,不必立即更改正式域名解析。
第四步:处理域名与 HTTPS
确认新站测试正常后,在新主机绑定正式域名并申请 SSL 证书。随后修改 DNS 解析,将域名指向新主机。DNS 生效存在缓存时间,因此迁移期间不要立刻删除旧站。新旧主机最好同时保持一致内容,避免部分用户访问到不同版本。
第五步:检查缓存与重定向
切换后清理程序缓存、主机缓存和 CDN 缓存,再检查 HTTP 到 HTTPS、裸域到 www 或 www 到裸域的统一跳转。站内链接应使用最终域名,避免形成多次重定向。搜索引擎所需的 robots.txt、sitemap.xml 和 canonical 地址也要同步核对。
迁移后的验证清单
- 首页及主要内容页返回正常状态;
- 后台可以登录并保存内容;
- 图片、CSS、JavaScript 无 404;
- 数据库中文内容没有乱码;
- 表单、邮件、支付回调等动态功能正常;
- 证书有效且无混合内容;
- 日志中没有持续出现的 PHP 或数据库错误。
如何减少停机时间
在迁移前适当降低 DNS TTL,先完成新主机部署和测试,最后再切换解析,是减少中断的关键。正式切换后持续观察访问日志和错误日志;确认各地区解析稳定、数据无遗漏后,再停止旧主机服务。