Linux Supervisor安装和配置
Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制
1、一键安装
yum install -y supervisor
2、安装成功
安装完成后会看到系统已经创建了/etc/supervisord.conf 文件 和 /etc/supervisord.d文件夹。
3、进入/etc/supervisord.conf ,系统默认加载supervisord.d文件夹下的.ini文件
4、进入/etc/supervisord.d文件,添加.ini文件对进程配置
文件类容
#项目名 (需要与文件名字一样)
[program:motor]
#脚本目录
directory=/home/test/
#脚本执行命令
command=java -Xms64m -Xmx512m -jar motor-vehicle-1.0.0-SNAPSHOT.jar
#supervisor启动的时候是否随着同时启动,默认True
autostart=true
#当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=false
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#脚本运行的用户身份
user = test
#日志输出
stderr_logfile=/home/logs/motor.log
stdout_logfile=/home/logs/motor.log
#把stderr重定向到stdout,默认 false
redirect_stderr = true
#stdout日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20M
#stdout日志文件备份数
stdout_logfile_backups = 20
5、启动服务
supervisord -c /etc/supervisord.conf
6、启动相关进程
supervisorctl start motor #启动motor进程
supervisorctl restart motor #重启
supervisorctl stop motor #停止
7、supervisor命令说明
supervisorctl status //查看所有进程的状态
supervisorctl stop <name>|all //停止<name>或all停止所有supervisor进程
supervisorctl start <name>|all //启动<name>或all启动所有supervisor进程,可用通配符*。es*表示es开头的supervisor进程
supervisorctl restart //重启
supervisorctl update //配置文件修改后使用该命令加载新的配置
supervisorctl reread //重载配置文件
supervisorctl reload //重新启动配置中的所有程序
讲到这里就完毕啦!