supervisor安装/配置

一丶介绍

为了保证web项目一直处于运行状态,在程序遇到异常丶报错时,当即重启服务html

二丶简介

supervisor是使用python编写的一个进程管理工具,能够在linux系统下启动,重启,关闭进程python

三丶安装

1.python安装:pip install supervisor(不推荐)
1.源码安装:https://pypi.python.org/pypi/supervisor
>>>cd /usr/local/src
>>>wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419ea/supervisor-3.3.2.tar.gz
>>>tar -zxvf supervisor-3.3.2.tar.gz

2.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf

3.启动:supervisord -c /etc/supervisord.conf

四丶Supervisor 配置

Supervisor 是一个 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端。linux

1.supervisor配置

# vim /etc/supervisord.conf
# 配置文件底部,配置include
[include]
files=/etc/supervisor/*.conf # 引入 `/etc/supervisor/conf.d/` 下的 `.conf` 文件,若你本地无/etc/supervisor目录,请自建

2.program 配置

rogram 的配置文件就写在,supervisord 配置中 include 项的路径下:web

# /etc/supervisor/conf.d/ 目录下建立xxx.conf文件
# vim xxx.conf
[program:app] ; 程序名称,在 supervisorctl 中经过这个值来对程序进行一系列的操做
autorestart=True      ; 程序异常退出后自动重启
autostart=True        ; 在 supervisord 启动的时候也自动启动
redirect_stderr=True  ; 把 stderr 重定向到 stdout,默认 false
environment=PATH="/home/app_env/bin"  ; 能够经过 environment 来添加须要的环境变量,一种常见的用法是使用指定的 virtualenv 环境
command=python server.py  ; 启动命令,与手动在命令行启动的命令是同样的
user=ubuntu           ; 用哪一个用户启动
directory=/home/app/  ; 程序的启动目录
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20     ; stdout 日志文件备份数
; stdout 日志文件,须要注意当指定目录不存在时没法正常启动,因此须要手动建立目录(supervisord 会自动建立日志文件)
stdout_logfile = /data/logs/usercenter_stdout.log

五丶supervisorctl经常使用命令

supervisord : 启动supervisor
supervisorctl reload :修改完配置文件后从新启动supervisor
supervisorctl status :查看supervisor监管的进程状态
supervisorctl start 进程名 :启动XXX进程
supervisorctl stop 进程名 :中止XXX进程
supervisorctl stop all:中止所有进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

参考:https://www.jianshu.com/p/3658c963d28bubuntu

http://www.javashuo.com/article/p-uqvvzzmt-cq.htmlvim

相关文章
相关标签/搜索