supervisor 工具的使用

说明

# 使用supervisor这个python开发的进程管理工具,用它启动uwsgi之后,uwsgi进程挂掉后,自动会再启动 
比如,crm的部署技术栈
nginx+uwsgi+django+mysql  ,我们可以手动的,单独启动每一个进程 还可以通过supervisor一键启动这四个进程,进行批量管理,批量启停 ,很好用

1. 安装 supervisor

[root@s25linux ~]# yum install  supervisor -y

2. 生成supervisor的配置文件

[root@s25linux ~]# echo_supervisord_conf >  /etc/supervisord.conf

3. 获取启动uwsgi的绝对路径的命令

# 1.找到uwsgi的绝对路径   which uwsgi
/opt/venv_crm_again/bin/uwsgi
# 2.找到uwsgi.ini的绝对路径    
/opt/tf_crm/uwsgi.ini  
# 3.所以利用uwsgi启动crm命令就是
/opt/venv_crm_again/bin/uwsgi     --ini   /opt/tf_crm/uwsgi.ini 

4. 编辑配置文件

修改supervisor的配置文件,添加管理crm的任务
vim  /etc/supervisor.conf  # 再最底行,添加如下内容
#[program:xx]是被管理的进程配置参数,xx是进程的名称[program:s25crm]
command=写入启动uwsgi的命令  ;supervisor其实就是在帮你执行命令而已!
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

5. 启动supervisor

# 启动supervisor,默认就会直接启动uwsgi了 
supervisord -c /etc/supervisord.conf   #启动supervisor服务端,指定配置文件启动

6. 检查进程信息

ps -ef|grep  supervisor #检查supervisor是否存在了进程,是否启动
ps -ef|grep  uwsgi  #检查uwsgi是否启动

7. supervisor任务管理终端

supervisorctl -c /etc/supervisord.conf
# 看到如下的结果,表示你自定义的任务s25crm,也就是uwsgi进程,正确的启动了
(venv_crm_again) [root@s25linux tf_crm]# supervisorctl -c /etc/supervisord.conf
s25crm                           RUNNING   pid 41451, uptime 0:01:34
supervisor>

8. 打开浏览器访问项目,看到了没有静态文件的 crm界面,就是正确的了

9. supervisorctl的管理命令

(venv_crm_again) [root@s25linux tf_crm]# supervisorctl -c /etc/supervisord.conf
s25crm                           RUNNING   pid 41451, uptime 0:01:34
supervisor>
supervisor>start s25crm		# 启动 s25crm 项目
supervisor>stop s25crm 		# 停止 s25crm 项目
supervisor>status 			# supervisor 运行状态
supervisor>start all  		# 启动 所有 项目
supervisor>stop all 		# 停止 所有 项目

10. *uwsgi异常崩溃的话,supervisor会立即重启uwsgi

如果要运行多个 uwsgi项目,在supervisor中定义多个任务即可


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部