说明
因为后端服务一般我们会多开几个服务进程进行API接口的提供,在使用Supervisor进行进程管理的时候,会经常需要对相关进程进行管理。
所以我们可以把同一个相同的所属的进程组进行归类:
创建对应的需要包含的进程配置文件:
[include]
files = /etc/supervisor/config.d/*.ini
[root@web1 etc]#
示例:
[group:qingtingysjs]
programs=qingting-ysj-11086,qingting-ysj-11087,qingting-ysj-11088
[program:qingting-ysj-11086]
command=/usr/bin/uwsgi /etc/uwsgi/qingting-ysj-11086.ini ; supervisord将要执行的运行python服务的命令
directory=/data/www/qt_ysj_iread_web_server
stdout_logfile=/data/logs/supervisord/qt_ysj_iread_web_server_supervisord.log ; supervisord当前这个test服务运行产生的日志存储路径,方便我们查看运行情况
socket-timeout=3
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
[program:qingting-ysj-11087]
command=/usr/bin/uwsgi /etc/uwsgi/qingting-ysj-11087.ini ; supervisord将要执行的运行python服务的命令
directory=/data/www/qt_ysj_iread_web_server
stdout_logfile=/data/logs/supervisord/qt_ysj_iread_web_server_supervisord.log ; supervisord当前这个test服务运行产生的日志存储路径,方便我们查看运行情况
socket-timeout=3
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
[program:qingting-ysj-11088]
command=/usr/bin/uwsgi /etc/uwsgi/qingting-ysj-11088.ini ; supervisord将要执行的运行python服务的命令
directory=/data/www/qt_ysj_iread_web_server
stdout_logfile=/data/logs/supervisord/qt_ysj_iread_web_server_supervisord.log ; supervisord当前这个test服务运行产生的日志存储路径,方便我们查看运行情况
socket-timeout=3
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
管理命令:
停止组(需要带上冒号):
supervisor> stop qingtingysjs:
也可以具体到某个进程:
supervisor> stop qingtingysjs:qingting-ysj-11086
也可以使用*号:
supervisor> restart qingtingysjs: *