前段时间捅了个篓子,由于系统应对峰值预估能力严重不足导致系统老是自动挂机,影响看系统的稳定性用了 nohup 守护启动也无济于事只能说nohup很鸡肋,最近疯狂找线程守护这方面资料发现了supervisor这个神器,百度资料比较少建议大家跨越移动长城到墙外去取google一下 有很多详细资料 我这边简单的应用了一下 足够应付简单的线程保活。
下载
yum installpython-setuptools
安装
easy_installsupervisor
生成配置文件
echo_supervisord_conf> /etc/supervisord.conf
开始配置文件
vi /etc/supervisord.conf
先看一下我这边的配置文件 我主要部署 jar war 两种包
我这边是配置了三个线程守护
我稍微简单讲一下主要的配置
[program:《这个地方填写你命名的应用名称》]
command=这边跟的是你要启动的命令 比如 nohup java –jar **** 或者 sh /etc/sind/shiel.sh 等等
autostar=true 这个的意思是当supervisor启动时候程序也会跟着启动
autorestart=true 等于true当 当前线程挂掉的时候系统会自动重启
startsecs=10 启动的时候延迟10秒 执行 command
上面这些配置足够应付线程保活
配置好了 退出 vim 编辑器 重新载入一下supervisord
当执行上面的命令出错的时候你执行一下一下命令
然后进入supervisorctl 控制台
这时候你在配置文件里面配置的线程守护都出出现在这如果没有出现说明配置失败了
由于我在正式环境截的图我就不实际操作了我把几个基本命令打出来
启动某一个守护线程
关闭某一个守护线程
重启某一个守护线程
启动所有守护
start all
关闭所有
stop all
重启所有
restart all
注意:第一次开启的时候会失败到时候直接重启某一个或者所有就可以正常了
这时候你们去kill -9 进程 过一会你就会发现他会再次重启比如我 kill -9 掉这个8801端口这个进程过了一会 他就又出现了supervisor 具有强大的线程守护功能
supervisor适合那种有的时候系统达到峰值当前配置不能应付 导致系统自动干掉线程保持稳定性。
是个神器