1.简介

supervisor是由python开发的进程管理工具,可以帮助我们更好的管理进程

在以后的项目部署中,我们可能需要手动的启停每一个进程,如nginx+uwsgi+django+mysql,supervisor可以帮助我们一键启停

2.配置

2.1 安装

sudo apt install supervisor

 

 

2.2 生成配置文件

echo_supervisord_conf >  /etc/supervisord.conf

 

2.3 在配置文件中添加任务管理

[program:crm]         # s25crm为任务名字
command= /opt/venv_crm_again/bin/uwsgi --ini /opt/tf_crm/uwsgi.ini --plugin python3 #写入启动uwsgi的命令,supervisor其实就是在帮你执行命令而已!
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

 

2.4 启动

supervisord -c /etc/supervisord.conf   #启动supervisor服务端,指定配置文件启动

 

2.5 任务终端管理

supervisorctl -c /etc/supervisord.conf
        
(venv) [root@s25linux tf_crm]# supervisorctl -c /etc/supervisord.conf
crm                           RUNNING   pid 41451, uptime 0:01:34
supervisor>
supervisor>start s25crm  # 启动任务
supervisor>stop s25crm   # 停止任务
supervisor>status    # 任务状态
supervisor>start all  # 开启都有任务
supervisor>stop all # 终止所有任务

在以后如果管理的任务异常退出,supervisor会帮助我们重启,如果需要运行多个不同的进程,在配置文件中定义多个任务就可以

 

posted on 2022-11-12 10:05  阿明明  阅读(86)  评论(0编辑  收藏  举报