都说睡前不要升级东西,临睡前发现 Nahida 上的 1Panel 授权掉了(后来发现是官方授权服务挂了),于是准备升级 1Panel 看看能不能解决问题。
正值 2.0.0 正式版发布,决定升级下。拍快照运行升级程序。很快啊,Bang的一下就炸了。NexusPHP 程序的数据迁移不了,不过反正是废弃站点,也就删了再来一次,这一次顺利完成了迁移。
按照官方指南的分别迁移了 core 和 website,坏事随之发生了。
首先是迁移过程中,WordPress 的网站数据直接原地消失。只有不到一般的数据成功迁移,另一半直接葱服务器上蒸发了。新位置旧位置都找不到站点数据。
其次是所有现有网站的配置文件全部损坏,access_log和error_log的配置没有随之迁移(或者文件没迁移过来),OpenResty 一直在 emerg 启动不起来。
紧接着我发现我的所有反向代理配置全部被删除,重写规则也跟着一起没了(不清楚这些是不是上面迁移失败的副作用)。
为了重新配置反代,我前往容器标签卡查看我的编排,准备从里面复制端口重建配置,结果编排编辑按钮全部消失。曾经由1Panel创建的编排现在全部提示由外部创建,无法被1Panel管理。
手动获取端口号后,前往网站配置反向代理,创建反代规则,尽管添加成功,但其实根本没起作用。浏览器访问仍然是默认页面 “Welcome to 1Panel”。
真见鬼,我决定删除站点配置,重新添加站点。添加域名,创建站点,发现只监听了 80 端口,所以手动启用 HTTPS。配置页面提醒要使 HTTPS 生效,我要去添加一个 域名:443 的域名配置才行。听起来倒也逻辑闭环,于是前往添加,弹出错误提示:端口 443 已被 OpenResty 占用。WTF。
看了一下我最初升级 2.0.0 最直接的问题——许可证。上传许可证文件,依旧是绑定失败。
同时由于迁移工具的限制,所有的运行环境都被删除,备份记录无法迁移,OpenResty 主配置被重置,PHP站点全部被设置为静态站点,日志也没了缓存也删了,WAF配置也全部无法迁移。
到最后基础功能都无法使用,一地鸡毛,还成为了正版受害者。看着订单里500多元的Halo 插件和 1Panel 许可证,我感觉自己像个小丑。
最后放一下飞致云的 Slogan 「我们秉持“软件用起来才有价值,才有改进的机会”的核心价值观,向中国数字化团队交付被广泛验证、可信赖的通用工具软件。」。我想如果他们真的有在哪怕深度使用过的机器上测试一下这个迁移工具,大概都不会效果如此惊人“惊讶”。
远离深夜运维,警惕数据粉碎机。
还原快照,又是被浪费的一晚。
我手动重装迁移也一堆bug,还好重装迁移前有快照兜底。目前V2还是等等吧。