适配Docker+1Panel部署环境,从准备到验证一步不落
📋 迁移前必准备
提前备好2个核心文件,避免中途卡壳:
WordPress文章XML包 登录WP后台 → 【工具】→【导出】→ 选「所有内容」→ 下载XML文件(存本地)。
WordPress附件压缩包 登录WP服务器,进入
wp-content/uploads目录,执行:tar -czvf uploads.tgz uploads/
🚀 Halo端准备(Docker+1Panel专属)
1. 把附件包传到Halo服务器
本地终端执行(替换为你的Halo服务器IP):
scp uploads.tgz root@你的Halo服务器IP:/tmp/
2. 解压附件到Halo工作目录
Halo工作目录(1Panel默认):/opt/1panel/apps/halo/halo/data 直接复制下面整段命令执行:
# 1. 创建迁移目录
mkdir -p /opt/1panel/apps/halo/halo/data/attachments/migrate-from-wp
# 2. 解压附件(自动去掉外层uploads文件夹)
cd /opt/1panel/apps/halo/halo/data/attachments/migrate-from-wp
tar --strip-components 1 -zxvf /tmp/uploads.tgz
# 3. 配置权限(适配Halo Pro root运行)
chown -R root:root /opt/1panel/apps/halo/halo/data/attachments/migrate-from-wp
chmod -R 755 /opt/1panel/apps/halo/halo/data/attachments/migrate-from-wp
3. 配置附件链接映射(关键!否则图片裂图)
在Halo工作目录添加链接规则,让Halo识别WP旧附件路径:
cat >> /opt/1panel/apps/halo/halo/data/application.yaml << EOF
halo:
attachment:
resource-mappings:
- pathPattern: /wp-content/uploads/**
locations:
- migrate-from-wp
EOF
4. 重启Halo让配置生效
打开1Panel面板 → 【应用】→ 找到Halo → 点击「重启」。
📥 Halo后台导入WP数据
1. 装迁移插件
Halo后台 → 【插件】→【+安装】→ 应用市场搜索「WordPress」→ 安装+启用。
2. 上传XML文件导入
左侧菜单点【迁移】→ 渠道选择【WordPress】点下一步 → 选本地的XML文件 → 点「执行导入」。
遇到“附件存储策略”步骤:直接选「本地存储」→ 点「下一步」→ 确认数据完成导入。
✅ 迁移结果验证
【内容】→【文章】:数量和WP一致;
打开带图文章:图片正常显示(链接还是
/wp-content/uploads/xxx);核对分类、标签:和原站完全匹配。