跳转到内容

迁移 ​

迁移

使用 工具箱 > 迁移,可以将网站、数据库、数据库用户和项目迁移到 AcePanel。迁移向导分为连接来源、选择资源、执行迁移和查看结果四个步骤。

开始前

备份来源服务器和目标服务器,确认两端均可通过 SSH 管理,并在目标服务器安装所需的 Web 服务器、数据库引擎和运行环境。迁移期间不要重启或更新任一面板。

连接来源 ​

首先选择资源所在的面板。

另一台 AcePanel 服务器 ​

当前正在操作的 AcePanel 是来源端,资源会从当前服务器推送到目标 AcePanel。

填写目标面板地址、Token ID 和访问令牌。令牌在目标面板的 设置 > 用户 > 访问令牌中创建,令牌 IP 白名单必须允许来源服务器的出口地址。

宝塔 ​

AcePanel 会连接宝塔并从中下载所选资源。填写宝塔面板地址和 API 密钥。连接前先启用面板 API,并将 AcePanel 服务器 IP 加入 API 白名单。具体操作参阅宝塔面板 API 配置说明。

1Panel ​

AcePanel 会连接 1Panel 并从中下载所选资源。填写 1Panel 地址和 API Key,并检查密钥有效期和 IP 白名单。具体操作参阅1Panel API 接口文档。

只填写面板地址。 AcePanel 会自动识别来源使用的是 v1 还是 v2 API;不要自行追加 /api/v1 或 /api/v2。

保护凭据

不要在对外分享的截图和诊断日志中包含访问令牌、API Key、数据库密码或真实服务器地址。迁移完成后删除临时凭据。

可迁移资源 ​

连接来源网站数据库和用户项目
AcePanel反向代理、PHP 和静态网站,包含完整网站设置、证书和启用状态MySQL、PostgreSQL 和 ClickHouse,以及对应用户、主机和权限通用、Go、Java、Node.js、PHP、Python 和 .NET 项目
宝塔静态、PHP 和反向代理网站,包括目录、域名、监听、运行目录、Rewrite、代理、重定向、证书和启用状态宝塔 API 能够提供密码的本机 MySQL、MariaDB 数据库及用户Node.js、Python、Go、.NET、Spring Boot 和其他项目
1Panel静态、反向代理和 PHP Runtime 网站1Panel API 能够提供密码的本机 MySQL、MariaDB、PostgreSQL 数据库及用户—

下列资源需要另行迁移或重新部署:

  • AcePanel 间迁移中的 Redis 和 Valkey 数据;
  • 宝塔或 1Panel 中的远程数据库;
  • 宝塔 Tomcat 项目;
  • 1Panel 非 PHP Runtime 网站、应用商店网站和项目;
  • 宝塔或 1Panel 中的容器和 Compose 编排。

第一步:连接 ​

提交地址和凭据后,AcePanel 会验证面板类型和版本,并加载资源清单。

连接失败时,检查面板完整地址和安全入口、网络连通性、防火墙与安全组、凭据有效期、IP 白名单以及两台服务器的系统时间。

第二步:选择资源 ​

资源列表会显示类型、名称、当前状态、预计大小、目标位置、依赖关系、警告和阻断原因。选择需要迁移的资源;项目还可以修改目标目录和运行用户。

必须先处理的冲突 ​

出现下列情况时,资源不能直接导入:

  • 目标已经存在同名网站、数据库或项目;
  • 名称为 default、phpmyadmin 等保留名称,或不符合 AcePanel 资源命名规则;
  • 目标网站或项目目录非空;
  • 目标没有兼容的数据库服务器;
  • AcePanel 数据库找不到名称和类型相同的目标服务器;
  • 来源 PostgreSQL 主版本高于目标版本;
  • 项目没有兼容运行环境或有效运行用户。

启用 跳过阻断资源后,阻断项会记为 已跳过,其余资源继续迁移。该选项不会绕过底层冲突或兼容限制。

兼容性调整 ​

  • MariaDB 数据库导入 AcePanel MySQL 服务器时,结果会带有警告。
  • 没有安装相同 PHP 版本时,AcePanel 会选择最接近的已安装版本;完全没有 PHP 运行环境时,会创建未启用 PHP 的网站并给出警告。
  • 项目用户 www-data、nginx 和 apache 会映射为 www。
  • 目标服务器不会直接复用 Node.js 的 node_modules 或 Python 虚拟环境,启动服务前必须重新安装依赖。

依赖和导入顺序 ​

数据库用户先于数据库导入,数据库先于项目,项目先于网站。宝塔网站和项目使用同名数据库时尤其需要注意,应同时选择有关联的资源,并逐项处理提示。

第三步:迁移中 ​

页面显示总体进度、当前资源和阶段以及实时日志。阶段分为 backup、transfer、import 和 done。每个资源的结果为 等待中、运行中、成功、完成但有警告、失败或已跳过。

启用 创建备份时停止运行中的服务后,AcePanel 会在备份网站或项目时短暂停止来源资源,归档完成后立即恢复原状态。数据库使用在线导出,不会停库。

离开页面不会停止迁移,再次进入时会恢复当前面板进程保存的进度。实时连接断开后,页面每三秒尝试重连。

迁移没有取消按钮,关闭页面也不等于取消。不要重启 AcePanel:迁移状态保存在面板进程中,进程退出后无法恢复。单次迁移最长运行 24 小时,超大资源应拆分为多批迁移。

传输方式 ​

AcePanel 服务器之间使用 10 MiB 分片上传,每个分片通过哈希校验,并在继续传输前检查已经上传的分片。

宝塔和 1Panel 迁移会从来源面板下载归档,不使用 AcePanel 之间的分片续传流程。

每个 AcePanel 进程同一时间只能运行一个迁移任务。

第四步:完成 ​

结果页会按 成功、完成但有警告、失败和已跳过分类,并显示每个资源的耗时和详情。开始下一次迁移前先下载日志。

任务结束后可以点击 开始新的迁移。重置后会清除当前连接、资源选择、结果和日志。

验证目标服务器 ​

完成以下检查前,不要删除来源数据:

  1. 分别通过 HTTP 和 HTTPS 打开每个网站,检查域名、监听地址、重定向、Rewrite、代理目标、PHP 版本、证书和启用状态。
  2. 使用迁移后的账号连接每个数据库,检查表、数据量、字符集、权限和应用连接配置。
  3. 检查项目重写后的目录、命令、环境变量、运行用户和服务状态,并按需要重新安装 Node.js 或 Python 依赖。
  4. 阅读每一条警告并下载迁移日志。
  5. 修改 DNS 或引入生产流量前,执行应用层测试。

资源传输成功但导入失败时,检查磁盘空间、目录所有权、数据库服务器名称和版本、已安装运行环境以及实时日志中该资源的错误。