本文约 2,424 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:换服务器最快的方式是什么
mysqldump + rsync 需要熟悉命令行;UpdraftPlus 恢复要在新站先装 WordPress。Duplicator 的思路更简单:打包 → 传两个文件 → 浏览器打开 installer → 填数据库信息 → 完成。
整个过程不需要在新服务器上预装 WordPress,也不用手工改配置文件里的数据库信息。
原理分析:Duplicator 包里有什么
一个 Package 由两个文件组成:
installer.php 安装向导脚本
xxxx_archive.zip(或 .daf) 整站归档(文件 + 数据库 SQL)
恢复时:
- 浏览器访问
installer.php; - 向导解压归档到当前目录;
- 让你填新服务器的数据库信息,写入
wp-config.php; - 执行数据库导入,并做 URL 替换;
- 更新站点地址、刷新固定链接。
installer.php 是关键——它独立于 WordPress,即使新服务器是空白的也能跑。
保姆级实操
第一步:源站安装并建包
wp plugin install duplicator --activate
后台 → Duplicator → Packages → Create New。
第二步:建包向导
- Setup:填包名(可选);
- Storage:默认本地;
- Archive:文件过滤器可排除缓存目录与无关文件;
- Installer:可预设新站数据库信息(省去手动填写)。
点 “Build” 开始扫描并打包。扫描阶段会给出三项检查:
| 检查项 | 说明 | 不通过的处理 |
|---|---|---|
| Size | 站点体积 | 大站需分包 |
| Database | 表数量与大小 | 清理修订版本/垃圾数据 |
| General | 文件权限、PHP 版本、内存 | 调大 memory_limit |
第三步:处理大站(分包)
免费版对大站点可能失败(内存或执行超时)。处理方式:
- 先清理:
wp post delete $(wp post list --post_type=revision --format=ids) --force
wp transient delete --all
wp db optimize
- 排除大目录(如 uploads 里的原始文件),单独用 rsync 传:
排除规则:/wp-content/uploads/2020/
- 调大 PHP 限制:
memory_limit = 512M
max_execution_time = 600
Pro 版支持”流式打包”与更大的站点。
第四步:下载两个文件
建包完成后下载 installer.php 与归档文件。大归档建议用 wget 在目标服务器直接拉取:
wget https://old-site.com/wp-content/.../archive.zip
第五步:目标服务器准备
- 新服务器装好 Nginx/Apache + PHP + MySQL(不用装 WordPress);
- 建一个空数据库与用户;
- 把两个文件放进站点根目录;
- 确保目录可写。
第六步:运行恢复向导
浏览器访问 https://new-site.com/installer.php。
- Step 1 – Deployment:确认归档解压路径;
- Step 2 – Database:填新数据库名、用户、密码;选 “Create New Database” 或连接已有库;
- Step 3 – Update:这一步做 URL 替换——
– Old URL / New URL:填旧域名与新域名;
– 勾选 “Site URL”、”Home URL”、”Content” 等替换范围; - Step 4 – Test:完成,进入后台登录。
第七步:收尾(必做)
- 删除
installer.php与归档文件(向导最后一步会提示,一定要删); - 后台 → 设置 → 固定链接 → 保存(刷新重写规则);
- 检查媒体库图片是否正常;
- 检查插件是否需要重新授权;
- 用 WP-CLI 再确认一次:
wp option get home
wp option get siteurl
wp plugin list --status=active
wp rewrite flush
常见踩坑与失败案例
installer.php忘记删除 —— 这是严重安全问题,任何人访问它都能覆盖你的站点。恢复后第一件事就是删。- 归档下载不完整 —— 浏览器下载中断会导致 zip 损坏,向导解压失败。用
wget或curl -C -续传,传输后校验文件大小。 - 案例:某站迁移后前台正常,但所有图片 404。原因是归档排除了 uploads 中的部分目录,而这些目录没单独传。教训是排除规则要记录,且迁移后用 SQL 核查是否有残留旧域名。
- 数据库版本不兼容 —— 从 MySQL 8 迁到 MariaDB 时可能有排序规则问题,需要在向导前先手工处理 SQL。
- 恢复后插件全部停用 —— Duplicator 会保留激活状态,但如果插件与新版 WordPress 不兼容会自动停用。逐个检查。
- PHP 版本不同导致恢复后白屏 —— 目标服务器 PHP 版本低于源站会出问题,建议保持一致或更高。
总结
Duplicator 是”换服务器最快路径”:打包两个文件 → 传到新服务器 → 跑向导 → 删除安装文件。关键风险点有三个:大站打包失败(先清理、分包、调参数)、归档传输中断(用命令行下载并校验)、installer.php 未删除(严重安全隐患)。迁移完记得执行固定链接刷新和图片检查。如果你要频繁迁移,把这套流程写成 checklist,每次照着走,半小时能完成一次整站搬家。
