supervisor 管理uwsgi 进程

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

安装:

Supervisor是python2写就的一款强大的运维工具(其实现在已经支持Python3了 https://github.com/Supervisor/supervisor
那么怎么利用Supervisor监控python3程序呢

通过指令:pip3 install git+https://github.com/Supervisor/supervisor

配置文件:

# supervisor名字
[program: your_supervisor_name]

#supervisor执行命令
command = uwsgi --init your_uwsgi.ini

#项目目录
derectory = ......

#开始的时候等待多少秒
startsecs = 0

#停止时等待多少秒
stopawitsecs = 0

#自动开始
autorestart = true

#程序挂了是否重启
autorestart = true

#输出的log文件
stdout_logfile = .../log/supervisor.log

#输出的错误文件
stderr_logfile = .../log/supervisor.err

#把 stderr 重定向到 stdout,默认 false
redirect_stderr = true

#stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20M

[supervisor]
# log 级别
loglevel = info

启动指令:

supervisord -c mycms_supervisor.conf

安装supervisor时,默认安装supervisord 和 supervisorctl

supervisorctl 相当于一个客户端,去管理supervisord 的进程
***

配置:

#使用supervisorctl配置

[inet_http_server]
#supervisor服务器
port = :9001
username = admin
password = 123

[supervisorctl]
#使用supervisorctl的登录地址和端口号
serverurl = http://127.0.0.1:9001

#登录supervisorctl的用户名和密码
username = admin
password = 123

#不定义命名空间
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

操作指令
supervisorctl 全局进入

进入单个 进程 supervisorctl -c supervisor.conf

status #查看状态
start programe_name #启动程序
restart programe_name #重启程序
stop programe_name #关闭程序
reload #重新加载配置文件
quit #退出控制台

supervisor 官网

转载于:https://www.cnblogs.com/donghaoblogs/p/10518326.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值