关于Linux宝塔的java网站守护进程功能的优化建议
一、历经几次大逻辑改动,我凭记忆回忆:
1、原来是在创建JAVA网站时,有一个配置:
开机启动 【】是否设置开机自动启动(默认自带守护进程每120秒检测一次)
2、然后又升级成:
【守护进程】:【】项目意外停止时自动重启
3、目前,前端这个按钮: 【守护进程】设置已经无效。
不管我在创建JAVA项目时,是否勾选 【守护进程】:【】项目意外停止时自动重启
系统都自动默认开启。
此前,
然后落库在 /www/server/panel/data/db/site.db 下的project_config中
用daemon_status字段定义来控制"项目意外停止时自动重启"的开关!
"daemon_status": true,
"daemon_status": false,
true = 开启守护,false = 关闭守护。
status": 1,
status": 0,
开机启动=1,开机不启动=0
二、特殊场景复现:
1、复现过程:
我测试添加了10个JAVA网站,1个生产环境网站,测试完这10个网站我没有立即删除网站,只是停止了项目服务,留一个生产项目在运行。
突然有一天,服务器重启了。
2、存在问题:
因为测试10个网站时,内存分配都占了一半。
所以,重启服务器后,11个JAVA项目全部开启,项目启动命令中配置的内存,每个项目占50%内存。所以,服务器内存直接爆OOM。无法让我进入宝塔面板去手工停用那10个测试用的JAVA项目。
三、修改:逻辑重构建议
1、【守护进程】保留目前的自动启用。所以,去除前端配置勾选项的误导。
2、如果项目是启用的,则【守护进程】,项目意外停止时自动重启。
如果项目是停用的,则【守护进程】配置失效。
3、如果服务器重启,则,按重启前JAVA项目的 启用/停用 状态恢复。
原来是启用的状态,重启服务器后,启用。
原来是停用的状态,重启服务器后,停用。
4、添加JAVA项目 模板,此前反复过一次,改后添加变成全部参数手工配置,太难用,后来又回滚到以前,就是目前的添加JAVA项目 的模板,目前是最友好的模板,不能修改后变难用了。详见:
https://www.bt.cn/bbs/forum.php? ... 94&page=1#pid586264
https://www.bt.cn/bbs/forum.php? ... 14&page=5#pid596849
|
|