跳转到内容

迁移

迁移

使用 工具箱 > 迁移,可以将网站、数据库、数据库用户和项目迁移到 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 白名单以及两台服务器的系统时间。

第二步:选择资源

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

必须先处理的冲突

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

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

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

兼容性调整

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

依赖和导入顺序

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

第三步:迁移中

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

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

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

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

传输方式

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

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

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

第四步:完成

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

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

验证目标服务器

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

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

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