ubuntu中supervisor的安装和学习

引言:

在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。所以,就需要一个工具,时刻监控 web 应用的运行情况,管理该进程。Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能。

Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)。同样,它也不仅仅是监控web,还能对python的一切脚本起着重启的作用

安装Supervisor

 sudo apt install supervisor 

配置文件

另外可以查看是否安装成功,查看进程号:

pgrep supervisord

若出现随机进程号则表示已经启动并安装成功。我们先补充生成的默认文件:

echo_supervisord_conf > /etc/supervisor/supervisord.conf

安装好之后,不出问题的话supervisor服务已经启动完成。
配置文件在/etc/supervisor/conf.d/路径下,
举例再conf.d下创建对应的项目的配置文件
我这里配置了app.conf和djangotest.conf
在这里插入图片描述

app.conf文件,其中app.py文件就放在目录/home/szr/temp/下面

[program:pmapp]
command=python3 /home/szr/temp/app.py
autorestart=true ;默认自动启动
stdout_logfile=/home/szr/temp/supervisord_stdout.log ;指定日志文件路径
stderr_logfile=/home/szr/temp/supervisord_stderr.log ;指定日志文件路径
[supervisord]

djangotest.conf文件,其中manage.py文件就放在目录/home/szr/lzztes/下面

[program:djangotest]
command=/usr/bin/python3.8 /home/szr/lzztes/manage.py runserver 0.0.0.0:8000
autostart=true
stderr_logfile=/home/szr/lzztes/logs/err.log
stdout_logfile=/home/szr/lzztes/logs/out.log
startretries=2
stopasgroup=true
killasgroup=true
environment=PYTHONPATH="/home/szr/.local/lib/python3.8/site-packages:/usr/lib/python3/dist-packages";配置同一个环境变量下有多个值
#项目路径 directory to cwd to before exec supervisor在执行前会切换到当前目录下 根据自己的情况配置
# directory=/

[supervisord]


其中可能需要先在指定目录下/home/szr/lzztes/logs/创建一个out.log 否则可能会报错找不到。

使用

第一次启用

sudo supervisord -c /etc/supervisor/conf.d/app.conf

或者使用

sudo supervisord -n -c /etc/supervisor/conf.d/app.conf

可以看见在前台看见运行信息,seccess
在这里插入图片描述

或者必须进入到目录:/etc/supervisor/

 sudo supervisorctl 
status    查看状态
update    只更新变化添加的配置
reload    更新所有项目的配置 并重启所有项目
start+项目名称    启动项目
restart+项目名称    重新启动项目
stop+项目名称   停止项目
stop all    停止所有项目名称

以下是例子
在这里插入图片描述
在这里插入图片描述
s't
当kill进程的时候 supervisor会守护这些进程,并且重启

在这里插入图片描述以app.py为例子,sudo kill -15 16221
在这里插入图片描述
之后supervisor进程守护,又重启了app.py在端口号 16237
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值