从耗子面板 2.x 就地升级至 AcePanel 3.0
本文档介绍如何在不重装系统的前提下,将耗子面板 2.x升级到AcePanel 3.0。整体思路是:在旧面板对部分关键应用做「不删除数据的部分卸载」(移除 service/命令入口等),随后安装新面板并部署一致环境,最后将旧面板的数据与站点内容迁移到新面板。
此教程为就地升级,若此教程不适合,请等待未来支持迁移升级。
名词解释
- 就地升级:在不重装系统的前提下完成升级。
- 迁移升级:将数据迁移至一台新服务器完成升级。
- 旧面板:耗子面板 2.x(待升级的面板)。
- 新面板:AcePanel 3.0(目标面板)。
操作须知(务必阅读)
- 风险极高:开始前必须对服务器做快照/完整备份,并确认可回滚。
- 停机时间较长:升级期间需停止网站及环境,请提前预留升级窗口并通知业务方。
- 路径冲突限制:旧面板不能安装在
/opt/ace目录(避免与新面板默认目录冲突)。 - 不适用场景:若数据盘挂载在旧面板安装目录,本方案不适用;需额外购买/挂载新的数据盘用于部署新面板(或调整挂载方案后再执行)。
升级前准备
1)确认旧面板环境运行正常
登录旧面板,依次检查 OpenResty、Percona、PHP 等应用,确保运行正常并记录当前版本/配置(便于迁移后核对)。
2)停止网站及环境运行
- 前往「网站」,停止所有网站运行。
- 前往「应用」,停止所有应用运行(OpenResty / 数据库 / PHP / 其他服务),直到全部停止。
3)进行服务器快照/备份
前往服务器控制台,对待升级服务器执行快照/备份操作,并务必等待备份成功后再开始后续步骤。
旧面板准备
升级路径概览:
- 在旧面板对部分关键应用执行「部分卸载」:仅移除 systemd service、可执行入口或软链接等,不删除数据目录。
- 安装 AcePanel 3.0 并部署与旧面板一致的运行环境。
- 将旧面板应用数据与网站文件迁移到新面板目录结构。
- 启动并验证全链路可用后,再考虑卸载旧面板。
关键应用「部分卸载」说明
说明:下表命令用于移除服务文件/命令入口,避免与新面板安装后的 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)
- 停止新面板 Percona。
- 在新面板「文件」中进入:
/opt/ace/server/mysql,删除data数据目录。 - 进入旧面板 Percona 目录(示例:
/www/server/mysql),将data目录迁移至新面板:/opt/ace/server/mysql/。 - 设置目录权限为 700,所有者为 mysql。
PostgreSQL
- 停止新面板 PostgreSQL。
- 在新面板「文件」中进入:
/opt/ace/server/postgresql,删除data数据目录。 - 进入旧面板 PostgreSQL 目录(示例:
/www/server/postgresql),将data目录迁移至新面板:/opt/ace/server/postgresql/。 - 设置目录权限为 700,所有者为 postgres。
PHP
- 在新面板安装业务所需的 PHP 扩展/模块。
- 对照旧面板,按需调整 PHP 配置文件(例如
php.ini、php-fpm相关配置),确保与原业务运行参数一致。
Gitea
- 停止新面板 Gitea。
- 在新面板「文件」中进入:
/opt/ace/server/gitea,删除目录内所有文件。 - 进入旧面板 Gitea 目录(示例:
/www/server/gitea),将目录内所有文件迁移至:/opt/ace/server/gitea。 - 修改 Gitea 配置文件中涉及的所有路径(包括数据目录、日志目录、仓库目录等),确保与新面板目录一致。
MinIO
- 停止新面板 MinIO。
- 在新面板「文件」中进入:
/opt/ace/server/minio,删除目录内所有文件。 - 进入旧面板 MinIO 目录(示例:
/www/server/minio),将目录内所有文件迁移至:/opt/ace/server/minio。 - 修改 MinIO 配置文件中涉及的所有路径,确保与新面板目录一致。
启动与验证
完成上述迁移后,回到新面板依次启动各应用并确认运行正常;若部分应用无法启动,请优先查看对应错误日志并修复。
注意:Percona / PostgreSQL 启动后需在面板中修改一次密码,否则面板的数据库管理可能无法正常使用。
迁移网站
应用环境迁移完成后,需要在新面板重新创建站点并迁移站点文件。
- 回到旧面板,前往「网站」查看站点清单与配置。
- 新标签页打开新面板,进入「网站」。
- 对照旧面板,在新面板中逐个创建所有网站。
- 在新面板「文件」中,将旧面板各网站目录内的所有文件迁移到新面板对应网站目录。
- 在新面板中完成站点配置:例如启用 HTTPS、设置伪静态、重写规则、反代、计划任务等。
注意:新面板默认网站目录结构不同,默认为:
/opt/ace/sites/站点名/public
全部站点迁移后,逐一访问验证(首页、接口、后台、静态资源、上传下载等)确保业务正常。
删除旧面板(可选)
当新面板运行稳定、业务验证完成且确认无需回滚后,可考虑卸载旧面板。
运行以下命令卸载旧面板并删除安装目录:
bash <(curl -sSLm 10 https://dl.cdn.haozi.net/panel/uninstall.sh)










