supervisor快速配置

1. 安装:

pip3 install supervisor

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

cd /usr/local/python3/bin/

3. 获取配置和文件:

./echo_supervisord_conf > supervisord.conf

4. 创建配置文件目录:

mkdir -p /etc/supervisor/conf.d

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

mv supervisord.conf /etc/supervisor/

6. 编辑配置文件:

vi /etc/supervisor/supervisord.conf 

# 修改配置文件

  

[unix_http_server]
;file=/tmp/supervisor.sock   ; (the path to the socket file)
file=/var/run/supervisor.sock   ; 修改为 /var/run 目录,避免被系统删除

[supervisord]
;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile=/var/log/supervisor/supervisord.log ; 修改为 /var/log 目录,避免被系统删除
pidfile=/var/run/supervisord.pid ; 修改为 /var/run 目录,避免被系统删除


[supervisorctl]
; 必须和'unix_http_server'里面的设定匹配
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=unix:///var/run/supervisor.sock ; 修改为 /var/run 目录,避免被系统删除


; 指定配置文件位置:
[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 

 

9. 查看运行状态

-- 查看状态
# supervisorctl status
xxx                        RUNNING   pid 9443, uptime 0:00:12


-- 启动全部
# supervisorctl start all

  

posted on 2021-11-27 23:31  torotoise512  阅读(79)  评论(0编辑  收藏  举报