supervisor管理并监控服务器任务进程,安装及其管理的相关命令

39 篇文章 1 订阅
1 篇文章 0 订阅

Supervisor是用Python开发的一套通用的进程管理程序
能将一个普通的命令行进程变为后台daemon,并监控进程状态,
异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,
这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。
当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。
supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

安装supervisor

这里讲的是在centos环境下的

yum install epel-release
yum install -y supervisor

yum安装执行上两条命令
其中可能会报错

No such file or directory: '/tmp/yum_save_tx.2019-09-11.15-00.dE0jiX.yumtx'

这类文件不存在的错误,解决方法是,在它指定的目录下创建它要求的文件就行咯,例如

touch /tmp/yum_save_tx.2019-09-11.15-00.dE0jiX.yumtx

然后执行以下命令

systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务
systemctl status supervisord # 查看supervisord服务状态
ps -ef|grep supervisord # 查看是否存在supervisord进程

到这里,supervisor就差不多安装好了
接下来就要给它事情做了
打开supervisor的配置文件

vim /etc/supervisord.conf

然后加入要托管的任务,我把我的uwsgi任务和celery任务给到它
这样写

[program:uwsgi]
command=uwsgi --ini /opt/script/uwsgi.ini
autostart=true
autorestart=true
user=root
startretries=5
startsecs=10
stdout_logfile=/opt/logs/uwsgi_supervisor.log

[program:celery]
directory=/opt/blog_run
command=python3 manage.py celery worker -A blog_run -l info
autostart=true
autorestart=true
user=root
startretries=5
startsecs=10
stdout_logfile=/opt/logs/celery_supervisor.log

然后输入
然后输入wq保存并退出
下面要将更新supervisor的状态了,将我们新增的任务同步进去

supervisorctl status #查看所有任务的状态
supervisorctl status 服务名   #查看单个任务的状态
supervisorctl start 服务名  #启动单个任务
supervisorctl stop 服务名  #停止单个任务
supervisorctl restart 服务名  #重启单个任务
supervisorctl update  #将新增的任务刷新出来
supervisorctl  #进入supervisor的交互环境,在里面可以进行start 服务名 等对任务进行的操作,这里就不多说了

如果在update新的任务报错
在这里插入图片描述
类似我上方图片这类错误的时候,你就需要看看你托管的进程中,是否开启了daemonize守护线程
我图中的redis就是因为开启了daemonize yes ,所以无法托管
原因见文章开始的那几句话

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值