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) 编辑 收藏 举报