1Panel v1 无缝升级到 v2 版本 实现多个 PHP 网站共享一个容器
前言
1Panel 的 v2 正式版本发布已经有一阵子了,刚发布 Beta 版的时候还不能从 v1 版本升级,好在正式版发布之后,官方提供了迁移工具 1panel-migrator,尽管还是不支持从 v1 版本直接在线升级至 v2 版本,但实测通过迁移工具升级到 v2 版本,大部分服务包括 PHP 网站都不会中断。

v2 版本
优点
新版本更新了非常多的功能,具体大家可以参考官方的公告,下面简单讲讲我比较看重的几点:
- 支持多个 PHP 网站共享一个容器,如果你有好几个 WordPress、Typecho 之类的 PHP 站点,以往每个站点都需要一个 PHP 容器,非常的吃资源
- 有了脚本库功能,可以把常用的命令添加到 1Panel 中快捷执行
- 备份功能支持更多的平台,并且同一个平台也可以添加多个备份账号
- 支持自定义菜单,可以把菜单栏里用不到的 AI 功能隐藏了
缺点
升级到 v2 版本后,1Panel 面板自身的内存占用明显变大了,如果你的 VPS 是 1G 内存的,那么建议停留在 v1 版本;但如果你 VPS 内存比较大并且 PHP 站点较多,那么升级 v2 版本还是能够节省一些资源的。
准备工作
注意事项
危险
升级前注意备份
完整的升级说明可以查看官方文档,这里简单的提一下重要的几点:
升级前 v1 版本需要在
v1.10.29-lts
及以上网站目录会移动到
/opt/1panel/www
,有 CI 自动构建的项目记得修改对应的目录v1 版本中的 PHP 运行环境会移除,PHP 站点升级后会变为静态站点,需要重新创建 PHP 运行环境(已创建网站中的 PHP 容器不会删除)
下载工具
前往 Gitee 下载对应架构的迁移工具
# 1. 进入临时目录
cd /tmp
# 2. 下载适用于您服务器架构的二进制文件(以 amd64 架构为例)
wget https://gitee.com/fit2cloud-feizhiyun/1panel-migrator/releases/download/latest/1panel-migrator-linux-amd64
# 3. 添加执行权限
chmod +x 1panel-migrator-linux-amd64
# 4. 移动至系统 PATH 中并重命名
mv 1panel-migrator-linux-amd64 /usr/local/bin/1panel-migrator
升级
升级面板
首先需要将 1Panel v1 升级到最新版本(v1.10.29-lts
及以上)

接着使用升级工具将 1Panel 升级到 v2 版本
1panel-migrator upgrade core

完成升级后,面板的端口、安全入口、账号与密码都不会改变,此时的面板版本为 v2.0.0
,在面板中可以在线升级到 v2 的最新版本。

升级网站
确认 v2 面板运行正常后,还需要升级网站,执行以下命令
1panel-migrator upgrade website

完成网站迁移后,原本的 PHP 站点类型会变为静态网站,这是正常现象,原本的 PHP 容器并没有删除,仍在正常运行。

来到运行环境中,创建一个 PHP 的运行环境,由于 v2 版本可以共享一个 PHP 容器,创建时建议添加所有网站需要的 PHP 扩展

最后再来到网站设置中,将站点从静态网站切换到刚才创建的 PHP 运行环境就大功告成了。

回退
提示
实测 v2 的高版本也能成功回退
如果你升级到 v2 版本后发现面板的占用过大,那么也可以通过迁移工具回退版本
和升级的顺序一样,先执行以下命令回退面板
1panel-migrator rollback service
确保 v1 面板运行正常后,再执行以下命令回退网站
1panel-migrator rollback website