安装
yum install supervisor
启动服务
systemctl enable supervisord
systemctl start supervisord
配置conf
vim /etc/supervisord.d/my.conf
内容如下:
[program:repo]
directory=/root/www/repository_service/
command=/root/www/rp/repo_env/bin/gunicorn --worker-class gevent -c /root/www/rp/gunicorn_conf_bk.py main:app
;--chdir /root/www/rp/
user=root
autostart=true
startsecs=5 ; 启动5秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true
startretries = 3 ; 启动失败自动重试次数,默认是3
redirect_stderr=true ; 把stderr重定向到stdout,默认false
stdout_logfile_maxbytes=20MB ; stdout 日志文件大小,默认50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数,默认是10
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
> stdout_logfile=/var/log/supervisor/gunicorn/info.log
> stderr_logfile=/var/log/supervisor/gunicorn/error.log
修改supervisord.conf
vim /etc/supervisord.conf
.......
[include]
files = supervisord.d/*.ini
最后一行替换 ini为conf, 如果上一部中配置的文件名后缀是ini可不改
组形式的conf
[group:mhv_group]
programs=mhv0,mhv1,mhv2,mhv3,mhv4,
启动组
supervisorctl start mhv_group::
启动组中某个进程
supervisorctl start mhv_group::mhv0
更新conf
如果修改了自定的conf文件,记得运行下面的命令,使修改生效。
supervisorctl update