supervisor快速配置


1. 安装:

pip3 install supervisor

2. 默认安装路径跟python同目录:

cd /usr/local/python3/bin/

3. 获取配置和文件:

./echo_supervisord_conf > supervisored.conf

4. 创建配置文件目录:

mkdir -p /etc/supervisor/conf.d

5. 移动配置文件到配置文件目录:

mv supervisored.conf /etc/supervisor/

6. 编辑配置文件:

vi /etc/supervisor/supervisord.conf 

# 指定脚本配置文件的位置

[include]
files = /etc/supervisor/conf.d/*.ini

7. 编辑脚本配置文件:

vi /etc/supervisor/conf.d/conf.ini
# 主要是写清楚命令和日志位置

[program:log]
command=python3 log.py > /apps/radius/log.log 2>&1 &
directory=/apps/log
autostart=true
autorestart=unexpected
user=root
stdout_logfile=/etc/supervisor/log/radiuslog-stdout.log
stderr_logfile=/etc/supervisor/log/radiuslog-stderr.log

# 给出一个详细配置说明

[program:exmaple] # example是在supercisor中的进程名,随便取啥
command=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:91 run:app 
# 上述代码为使用gunicorn 运行flask。run是你的文件名 :app指的是app = Flask(__name__)此处的app
                        或者是
command=/usr/local/bin/python3 /root/test/test.py
numprocs=1           ; number of processes copies to start (def 1)   
autostart = true     ; 在 supervisord 启动的时候也自动启动   
startsecs = 1        ; 启动 1 秒后没有异常退出,就当作已经正常启动了   
autorestart = true   ; 程序异常退出后自动重启   
startretries = 3     ; 启动失败自动重试次数,默认是 3   
user = root          ; 用哪个用户启动   
redirect_stderr = true          ; 把 stderr 重定向到 stdout,默认 false   
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB   
stdout_logfile_backups = 10     ; stdout 日志文件备份数 
stdout_logfile=/**自定义路径/gunicorn.log       ; log 日志
stderr_logfile=/**自定义路径/gunicorn.error     ; 错误日志的绝对路径

8. 最后是运行:

/usr/local/python3/bin/supervisord -c /etc/supervisor/supervisord.conf