阅读视图

typecho博客从宝塔面板搬到1panel面板踩的那些坑

typecho博客从宝塔面板搬到1panel面板踩的那些坑 - 第1张图片

老张博客搬家至酷鸭数据香港VPS》时,还算是比较顺利。想着既然老张博客已经搬到了酷鸭数据,那也把我的后花园“老张随笔”也搬过来吧,说干就干。

以前用的CC家服务器,安装的是宝塔面板,手里一直还有一个1panel的永久授权版,所以这次酷鸭数据的香港VPS我使用的是1panel。如果两台服务器都是宝塔,那搬家真的是分分钟的事,直接用应该商店里的“网站迁移”就行,而现在,只能通过备份网站文件、数据库文件后再上传到新服务器的方式来进行搬家了。

网站运行环境不一致

这块还比较顺利,因为两台服务器我都使用了相同版本的MYSQL、PHP等。另外需要特别注意的就是PHP的扩展、禁用函数也必须要保持一致。

链接不上数据库

这个问题非常好解决,宝塔面板链接数据库MYSQL默认的是localhost,而1panel面板连接MYSQL地址是MYSQL的容器的名称,这点必须要修改。

登录后台遇500,Unmatched '}'报错

这个是我折腾最久的一个坑,当把老张随笔搬过来后,登录后台发现出现500报错,提示为Unmatched '}'。这个坑一直折腾了几个小时。其实在这里,我也是犯了一个非常简单的错误,就是搬家之前没有关闭所有插件。所以建议像这样的搬家,最好在搬家之前把所有的插件停掉、主题换成默认的,搬家后再一个一个启用插件,以便可以更好的测试到错误。

把所有的插件和主题停用后,后台可以正常进入,这个时候再一个一个启用插件,当排查到LoveKKCommentModify这个插件,只要启用就会提示Unmatched '}'。因为对1panel不熟悉,找到AI解决了问题。修改了LoveKKCommentModify的Plugin.php文件第343行:将 <? 改为 <?php、第589行:将 <? 改为 <?php。

其实导致这个问题的最终原因是LoveKKCommentModify插件使用了PHP短标签,宝塔面板默认是开启的,而1panel默认是关闭的。只需要到1panel的运行环境中,把PHP短标签开启即可。根本就不需要修改什么代码。

开启伪静态,登录不了后台

登录1panel后台,为typecho网站设置未静态,代码是默认的,但是出问题了。登录后台出现404错误,并提示:“找不到以下 Web 地址的网页: https://zhangbo.net/index.php/action/login?_=5ca13260eXXXXXXX53adXXXXc92a HTTP ERROR 404。

deepseek分析原因为Typecho的路径处理与当前伪静态规则不匹配。我也就想不通了,为什么官方的默认的代码就不匹配了。最后解决方法添加break指令修正规则

if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
break;
}

搬了一个家,遇到很多坑,折腾N天!要是若干年前还没有AI的时候,估计请教N位大佬也不一定能把问题解决。现在好了,AI普及,遇到问题都可以自己解决,有了AI,人人都是程序员了!!

  •  

1Panel V1 升级 V2,以及命令注入漏洞 CVE-2025-54424 相关问题

一大早收到腾讯云漏洞通知的邮件,显示 1Panel 命令注入漏洞 CVE-2025-54424,等级是高危,查了下这是 V2 版本才有的漏洞,我 V1 你提示个 der?

不过几个服务器基本都是 Proxy 用,没放什么东西,看了下官方更新记录 V2.0.6 已经修复了这个问题,索性花一点时间把 1Panel 升级到 V2 尝尝鲜。

CVE-2025-54424 目前影响返回仅 V2.0.0 ~ V2.0.5,V1 用户不在此次楼都影响范围内,可以不用升级。当然跟我一样想升级 V2 尝鲜除外。

因为我现在还是 V1.10.32,所以还得先想办法升级到 V2 再升级 2.0.6,好在查了下官方已经有迁移脚本了:

郑重提醒

升级有风险,操作需谨慎。一切操作请提前备份好文件或创建磁盘快照。

安装升级脚本

此处以 X86 架构为例,升级版本为 v2.0.6,如果使用其它加购或要升级到其它版本请参考官方数据迁移脚本 1panel-migrator

# 1. 进入临时目录
cd /tmp

# 2. 下载适用于您服务器架构的二进制文件(以 amd64 架构为例)
wget https://gitee.com/fit2cloud-feizhiyun/1panel-migrator/releases/download/v2.0.6/1panel-migrator-linux-amd64

# 3. 添加执行权限
chmod +x 1panel-migrator-linux-amd64

# 4. 移动至系统 PATH 中并重命名
mv 1panel-migrator-linux-amd64 /usr/local/bin/1panel-migrator

升级1Panel

V2 版本开始,1Panel 划分了主节点和从节点,简单解释如下:

主节点从节点
支持外部访问
包含 1panel-core 和 1panel-agent 两个服务
包含V1社区版所有功能
受主节点管理,不支持外部访问
仅包含 1panel-agent 服务
没有付费购买专业版就可以忽略这个功能了

升级过程分为两步:升级服务 和 升级网站,务必先完成服务升级,再进行网站升级。

# 升级服务
1panel-migrator upgrade core

# 升级网站,需确保 V2 服务启动成功后再执行该命令。
1panel-migrator upgrade website

问题及解决方案

升级指令参见:upgrade.md,过程其实还算顺利,只是我也遇到了一些问题,在此也记录一下我的修复方案,仅供参考:

Q1:升级后PHP网站会更新为静态网站。

这是因为V2开始支持多个PHP网站共用一个PHP容器了,是一个比较大的改动升级,升级1Panel后建议卸载旧的PHP运行环境,重新安装一个新的PHP运行环境,再编辑网站重新设置PHP版本即可。

Q2:升级后反向代理网站的缓存全部关闭了。

此处也是V2版本的一处大改动,重新开启缓存即可。

Q3:升级过程遇到 -bash: docker-compose: command not found 相关错误?

遇到这个问题首先试一下 docker compose --version 能否执行,如果可以建议直接挂在软链接 sudo ln -s $(which docker) /usr/local/bin/docker-compose 重试,否则可能需要重新安装compose。

Q4:升级过程遇到 migrator v1 to v2 core failed, err: SQL logic error: no such table: mcp_servers (1) 相关错误?

这个错误是我 飞牛NAS 里的 1Panel 升级时遇到的,因为飞牛应用商店安装的 1Panel 版本非常陈旧,当初根据飞牛论坛的帖子升级到 V1 最新版后一直没有发现问题,但是其实升级后的 1Panel 是没有 AI 菜单的。

根据错误信息我搜索到了 1Panel 论坛有相关的帖子以及修复方案

# 下载新版v1 1Panel
wget https://resource-fit2cloud-com.oss-cn-hangzhou.aliyuncs.com/1panel/package/stable/v1.10.32-lts/release/1panel-v1.10.32-lts-linux-amd64.tar.gz
# 解压
tar -xzvf 1panel-v1.10.32-lts-linux-amd64.tar.gz
# 然后找到其中的 1panel 二进制文件 替换到你 /usr/loca/bin 下面 然后重启

需要注意的是如果你是 飞牛NAS 应用商店安装的 1Panel 可能重启后会发现依然没有 AI 菜单,此时可以尝试拷贝 1panel 文件到 /vol1/@appcenter/1Panel/bin 再重启应该就有AI菜单并可以升级了。

Enjoy 1Panel V2

虽然虚惊一场,但是也借此机会花了大概一早上的时间。将三台服务器的 1Panel 升级到了 V2,前段时间把博客丢到 NAS 里了,结果今天因为 Q4 那个问题导致博客宕机了一上午,不过问题不大,总算都升级完毕了。

参考链接

  •  

第三方1Panel应用商店不完全指北

摆了快一个月,实在太爽了,也该更新一章!1Panel 大家应该都用过吧?虽然应用商店挺全,但和庞大的 GitHub 比还是差点,经常遇到应用没法适配,只能自己维护,强迫症难忍。于是我就搞了个 1Panel 第三方应用仓库,只放自己用的应用,非常方便!这篇文章就教你如何维护属于自己的第三方应用仓库。

  •  

1Panel自动同步Github仓库

之前使用的是宝塔面板,由于自带webhook,所以可以很方便的同步github仓库,达到更新网站的功能,但是由于目前转移到了1Panel,每次更新文章后都需要手动拉取,略显麻烦,所以研究了一下,最重使用action执行ssh链接并执行命令解决了这个问题。

  •  

有折腾有吐槽 还有进宝

更换汽车空调滤芯

我属于是动手能力极差的那种人,八年的车,自己动手的无非就是换换雨刮和倒倒玻璃水、冷却液,其他都交给了4S店。要过年了,公里数也差不多了,去了趟4S店做了一次基础保养,活动1元送了一个空气滤芯一起换了,就想本次也把空调滤芯也一起换了,询问店里人员换一个多少钱,135!

之前的空调滤芯也是在4S店里换,价格也就这样,自己懒就甘愿被他们“宰”,这次想自己动手换试试,二来可把更换过程记录一下,博客就能水一篇了。在汽车之家看了些更换攻略,然后在博世淘宝店买了一个,折后50.92元。

空调滤芯位置在副驾驶收纳箱下方,更换还是蛮顺利的,唯一阻碍是保险盒就在滤芯更换出口旁边,需要把滤芯稍微折一下即可方便取出放入。旧的取出后肉眼看上去不算太脏,也就用了七八个月。这“ACC PMFLTAA”是什么玩意?网上搜也找不出答案,但重量会比新买的博世重,不知是不是灰尘吸多了。

老婆要养小兔子

每天问我“可以养兔子吗”,说了大半个月了,其实并不是在征求我的同意,而是在按她自己的计划进行着。到目前为止,领养兔子的商家已经联系好,品种已经选好安哥拉,兔子的各类用品诸如宠物笼、厕所、饲料盘、饮水器、毛刷等等已经买好,居然还买了可爱围脖、衣服~,各种用的吃的均以到家,还准备了纸质攻略,为迎接这个新成员可谓提前做足了准备。听她说这只冬至生的安哥拉兔年后初十左右从中山送来,取的名字也取好了,朴实无华,叫作“进宝”。

纸质攻略
纸质攻略
兔子用品
兔子用品
兔子粮草
兔子粮草
宠物笼
宠物笼

老婆最近时常刷关于兔子的视频,会同儿子说“我们要养兔子了”“你看兔子好可爱哟”,俩母子看得津津有味。儿子非常喜欢小动物,在外看到猫猫狗狗小鸟蝴蝶之类时会非常兴奋,根本拦不住,想必小兔子到家后他有多开心。

不过对恐龙可是又惊又爱,要看电视时不是要求“睇JOJO”就是“睇恐龙”,当恐龙动画片遇到对他而言是恐怖场景时,会跑开并寻求爸爸妈妈“保护”。上次带他去广州四海城恐龙公园,爱看但唯独不敢靠近,抱他靠近吧会把你抓的紧紧的,表现得一惊一乍不为过,知道他底细后得控制与恐龙模型之间的距离才行。

用上1Panel面板

新官上任三把火,换服后又折腾了一下,用上了1Panel面板,迁移过程比较顺利。考虑过宝塔面板,部分闭源和据说的后门,就打了退堂鼓。1Panel是第一次用,“现代化、开源”,界面相比宝塔的确小清新,它的核心是容器化,依赖Docker来管理,你说它是个Docker管理器某种程度上讲也恰当的,这应该就是它与宝塔面板本质上的区别。网站服务依赖于OpenResty,支持Acme申请证书,应用商店涵盖大部分需求,没有的自己拉,对我来说1Panel已经满足所需,就先这样用着。

家政清洁

平时的卫生都由勤劳又爱干净的老妈解决,闲不住,所以家里还算比较干净的。由于爸妈提前回老家了,老婆在微信小程序某喜到家下单上门家政清洁服务,就当是年前“大扫除”,听她说花了五百多块搞了个什么三次套餐(该套餐599元,4h*3次全屋保洁)。我得知后第一时间劝她去退款,然而她执意要试一下,说如果不行就让她自己去后悔,并会去平台把剩余次数的钱给退回来。果不其然,她很后悔!

家政公司派来的阿姨携带的清洁装备倒是不少,为不妨碍阿姨的清洁流程进度,老婆与她简单沟通后便没再“打扰”也没有当“监工”。结果是,除了厨房里一些油污看起来已清洗掉,其他是清洁了个寂寞。过分的是,在第二天晚上想泡脚,从洗手池下面取出泡脚盆后发现盆子里外满是白色颗粒状东西,有可能是干透了的清洗剂,盆底还脏脏的,可怜的泡脚盆是被阿姨当作清洁桶用了,但搞完卫生起码也得冲洗一下吧,阿姨!

总之并没达到自己预期的清洁效果,且出现了不该出现的状况。不过该夸的还是要夸,厨房一些顽固油污确实清洁干净。想要做比较全面的清洁还是要动员自己干,不能懒~

  •