众所周知,青龙面板的作者现在已经不纯粹了,GitHub上也是不够友好,大家反应IO高的issue也给关了。
另外还有莫名的CPU高的情况是我最不能忍的,一到晚上23点前后,CPU高到爆炸,负载能到1000%多。
作为一个小白,折腾青龙面板底层的东西着实有点费劲,喂给AI看/ql/static/build/app.js(IO高的罪魁祸首)的源代码也看不出所以然来。
总结一下我的优化之路吧:
我的青龙面板版本号是2.19.2
首先是在nginx中仅allow可以访问的IP,然后除了deny all以外,还特意的deny了127.0.0.1
由于青龙面板自己有校验机制,所以为了保险起见,给丫把nginx的front.conf问价加了把chattr锁,然后失败了。。。sudo都不好使,还su不过来,passwd root密码亦不可。
最后安排了一个计划任务才算了事。
但是这样似乎23点还是会负载高。
于是次日又开始研究,监控历史显示是app.js这个脚本导致,于是就喂给AI,无结果。
然后心想着他不是有校验机制嘛,于是就给丫把validation目录move到tmp去,然后error.log就爆了,最后web就打不开了。
看来还不能这么搞,于是我就又恢复了回去,好了。经此一役,遂决定放弃了。
过了一夜,上班后查看,昨晚居然一切正常了, CPU、IO都正常了,神奇。
总结下来,可能是因为最后搞校验那一下有效果?让作者那边知道我这个肉鸡不可用了?
下面贴出完整步骤,要先连接到青龙的shell,用宝塔的方便,web页面就可以操作,不方便的就命令行里进
#用docker命令进入青龙的shell
docker exec -it qinglong /bin/bash
#修正软件源信息
vi /etc/apk/repositories
#注释掉之前的,增加新的可用的
#https://dl-cdn.alpinelinux.org/alpine/v3.22/main<br>#https://dl-cdn.alpinelinux.org/alpine/v3.22/community
https://repo.huaweicloud.com/alpine/v3.22/main/<br>https://repo.huaweicloud.com/alpine/v3.22/community/
#安装个顺手的vim(默认自带的vi倒也能用,用不习惯再装这个)
apk add vim
#编辑nginx配置文件(主文件不需要改)
vim /etc/nginx/conf.d/front.conf
#如下位置增加三行allow和deny
1 2 3 4 5 6 7 |
location / { index index.html index.htm; try_files $uri /index.html; allow 192.168.31.177; #改成你自己的终端IP地址 deny 127.0.0.1; deny all; } |
#加锁(尽管没用,但至少也学了个小技巧不是?)
chattr +i /etc/nginx/conf.d/front.conf
#创建计划任务,先cp一份出来
cp /etc/nginx/conf.d/front.conf /etc/nginx/conf.d/front.conf.bak
#然后就去web里写一个脚本,cp 这个bak文件为 conf文件,每天定时执行好了,这个就略过了,有需要的话回复我,我再补充上。
#挪校验脚本到/tmp
mv /ql/static/build/validation/schedule.* /tmp/
#查看error.log
vi /root/.pm2/logs/qinglong-error.log
#然后再挪回来
mv /tmp/schedule.* /ql/static/build/validation/