supervisor笔记

1. 什么是supervisor

       superviosr是一个Linux/Unix系统上的进程监控工具,他/她upervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。不过同daemontools一样,它不能监控daemon进程

2. 为什么使用supervisor

  • 使用简单
  • 集中管理

3. supervisor组件

supervisord

       主进程,负责管理进程的server,它会根据配置文件创建指定数量的应用程序的子进程,管理子进程的整个生命周期,对crash的进程重启,对进程变化发送事件通知等。

supervisorctl

       客户端的命令行工具,提供一个类似shell的操作接口。

web server

       提供了web server功能,可通过web控制进程。

4. 安装及使用

       可以直接通过pip进行安装pip install supervisor

# 生成配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 修改配置文件
vim /etc/supervisor/supervisord.conf
# 修改inlude配置文件,*.ini为每个进程的配置文件
[include]
files = ./conf.d/*.ini

       

增加一个配置文件
[program:test]
 command=/usr/local/bin/python -u /Users/han/PycharmProjects/gevent/multiprocess.py ;被监控的进程路径
 user=root
 autostart=true    ;随着supervisord的启动而启动
 autorestart=true  ;自动重启
 stopsignal=KILL   ;杀死进程的信号
 stopasgroup=true
 killasgroup=true
 redirect_stderr = true  ;重定向stderr到stdout
 directory=/Users/han/PycharmProjects/gevent
 stdout_logfile=/Users/han/PycharmProjects/gevent/supervisor_log/%(program_name)s.log
 stderr_logfile=/Users/han/PycharmProjects/gevent/supervisor_log/%(program_name)s.err.log
操作命令
# 重启supervisord,或者重新加载配置文件
supervisorctl reload 或者 supervisorctl -c /etc/supervisor/supervisord.conf

5. 错误解决方法

couldn’t setuid to 502: Can’t drop privilege as nonroot user

修改配置文件中
user=%(ENV_USER)s
然后执行,supervisorctl reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值