耗子面板 2.x 就地升级 AcePanel 3.0 说明

从耗子面板 2.x 就地升级至 AcePanel 3.0

本文档介绍如何在不重装系统的前提下,将耗子面板 2.x升级到AcePanel 3.0。整体思路是:在旧面板对部分关键应用做「不删除数据的部分卸载」(移除 service/命令入口等),随后安装新面板并部署一致环境,最后将旧面板的数据与站点内容迁移到新面板。

此教程为就地升级,若此教程不适合,请等待未来支持迁移升级

名词解释

  • 就地升级:在不重装系统的前提下完成升级。
  • 迁移升级:将数据迁移至一台新服务器完成升级。
  • 旧面板:耗子面板 2.x(待升级的面板)。
  • 新面板:AcePanel 3.0(目标面板)。

操作须知(务必阅读)

  1. 风险极高:开始前必须对服务器做快照/完整备份,并确认可回滚。
  2. 停机时间较长:升级期间需停止网站及环境,请提前预留升级窗口并通知业务方。
  3. 路径冲突限制:旧面板不能安装在 /opt/ace 目录(避免与新面板默认目录冲突)。
  4. 不适用场景:若数据盘挂载在旧面板安装目录,本方案不适用;需额外购买/挂载新的数据盘用于部署新面板(或调整挂载方案后再执行)。

升级前准备

1)确认旧面板环境运行正常

登录旧面板,依次检查 OpenResty、Percona、PHP 等应用,确保运行正常并记录当前版本/配置(便于迁移后核对)。

2)停止网站及环境运行

  • 前往「网站」,停止所有网站运行。

  • 前往「应用」,停止所有应用运行(OpenResty / 数据库 / PHP / 其他服务),直到全部停止。


3)进行服务器快照/备份

前往服务器控制台,对待升级服务器执行快照/备份操作,并务必等待备份成功后再开始后续步骤。


旧面板准备

升级路径概览:

  1. 在旧面板对部分关键应用执行「部分卸载」:仅移除 systemd service、可执行入口或软链接等,不删除数据目录。
  2. 安装 AcePanel 3.0 并部署与旧面板一致的运行环境。
  3. 将旧面板应用数据与网站文件迁移到新面板目录结构。
  4. 启动并验证全链路可用后,再考虑卸载旧面板。

关键应用「部分卸载」说明

说明:下表命令用于移除服务文件/命令入口,避免与新面板安装后的 service/命令冲突;数据目录不在这些命令范围内
其中 ${mysql_path}${postgresql_path} 请替换为旧面板对应应用的实际安装路径(示例:/www/server/mysql/www/server/postgresql)。

应用名 部分卸载方法
OpenResty rm -rf /etc/systemd/system/nginx.service /usr/local/bin/nginx
Percona rm -rf /etc/systemd/system/mysqld.service && find /usr/local/bin/ -type l -lname "${mysql_path}/bin/*" -exec rm {} \;
PostgreSQL rm -rf /etc/systemd/system/postgresql.service && find /usr/local/bin/ -type l -lname "${postgresql_path}/bin/*" -exec rm {} \;
PHP rm -rf /lib/systemd/system/php-fpm-*.service /usr/local/bin/php* /usr/local/bin/pear /usr/local/bin/pecl
Docker/Podman 无需卸载处理
Gitea rm -rf /usr/local/bin/gitea /etc/systemd/system/gitea.service
MinIO rm -rf /usr/local/bin/minio /etc/systemd/system/minio.service

其他非关键应用建议直接在旧面板卸载,并新面板按需重新安装以降低迁移复杂度。


安装新面板

在完成旧面板应用「部分卸载」后,开始安装新面板。

运行以下命令并按提示完成安装:

bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)

安装完成后,登录新面板,安装与旧面板一致的环境(例如 OpenResty、Percona、PostgreSQL、PHP 版本及相关组件)。

等待环境安装完成后进入下一步。


迁移应用数据

此阶段目标:将旧面板「部分卸载」的应用数据迁移到新面板的目录结构中,并确保权限与配置正确。

OpenResty

  • 若未修改过 OpenResty 配置,可跳过。
  • 如有自定义配置:请从旧面板导出/复制相关配置到新面板,并在新面板上核对加载路径与 include 关系。

Percona(MySQL)

  1. 停止新面板 Percona。
  2. 在新面板「文件」中进入:/opt/ace/server/mysql,删除 data 数据目录。
  3. 进入旧面板 Percona 目录(示例:/www/server/mysql),将 data 目录迁移至新面板:/opt/ace/server/mysql/
  4. 设置目录权限为 700,所有者为 mysql


PostgreSQL

  1. 停止新面板 PostgreSQL。
  2. 在新面板「文件」中进入:/opt/ace/server/postgresql,删除 data 数据目录。
  3. 进入旧面板 PostgreSQL 目录(示例:/www/server/postgresql),将 data 目录迁移至新面板:/opt/ace/server/postgresql/
  4. 设置目录权限为 700,所有者为 postgres

PHP

  1. 在新面板安装业务所需的 PHP 扩展/模块。
  2. 对照旧面板,按需调整 PHP 配置文件(例如 php.iniphp-fpm 相关配置),确保与原业务运行参数一致。

Gitea

  1. 停止新面板 Gitea。
  2. 在新面板「文件」中进入:/opt/ace/server/gitea,删除目录内所有文件。
  3. 进入旧面板 Gitea 目录(示例:/www/server/gitea),将目录内所有文件迁移至:/opt/ace/server/gitea
  4. 修改 Gitea 配置文件中涉及的所有路径(包括数据目录、日志目录、仓库目录等),确保与新面板目录一致。

MinIO

  1. 停止新面板 MinIO。
  2. 在新面板「文件」中进入:/opt/ace/server/minio,删除目录内所有文件。
  3. 进入旧面板 MinIO 目录(示例:/www/server/minio),将目录内所有文件迁移至:/opt/ace/server/minio
  4. 修改 MinIO 配置文件中涉及的所有路径,确保与新面板目录一致。

启动与验证

完成上述迁移后,回到新面板依次启动各应用并确认运行正常;若部分应用无法启动,请优先查看对应错误日志并修复。

注意:Percona / PostgreSQL 启动后需在面板中修改一次密码,否则面板的数据库管理可能无法正常使用。


迁移网站

应用环境迁移完成后,需要在新面板重新创建站点并迁移站点文件。

  1. 回到旧面板,前往「网站」查看站点清单与配置。
  2. 新标签页打开新面板,进入「网站」。
  3. 对照旧面板,在新面板中逐个创建所有网站。
  4. 在新面板「文件」中,将旧面板各网站目录内的所有文件迁移到新面板对应网站目录。
  5. 在新面板中完成站点配置:例如启用 HTTPS、设置伪静态、重写规则、反代、计划任务等。

注意:新面板默认网站目录结构不同,默认为:/opt/ace/sites/站点名/public

全部站点迁移后,逐一访问验证(首页、接口、后台、静态资源、上传下载等)确保业务正常。


删除旧面板(可选)

当新面板运行稳定、业务验证完成且确认无需回滚后,可考虑卸载旧面板。

运行以下命令卸载旧面板并删除安装目录:

bash <(curl -sSLm 10 https://dl.cdn.haozi.net/panel/uninstall.sh)

不错,来占个沙发

学习了