2019獨角獸企業重金招聘python工程師標準》
說明supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動、重啟、關閉程序.
安裝
pip install supervisor
配置echo_supervisord_conf > /etc/supervisord.conf
supervisord.conf[unix_http_server]
file=/tmp/supervisor.sock ; unix socket 檔案,supervisorctl 會使用
[supervisord]
logfile=/tmp/supervisord.log ; 日誌檔案,預設是 $cwd/supervisord.log
logfile_maxbytes=50mb ; 日誌檔案大小,超出會 rotate,預設 50mb
logfile_backups=10 ; 日誌檔案保留備份數量預設 10
loglevel=info ; 日誌級別,預設 info,其它: debug,warn,trace
pidfile=/tmp/supervisord.pid ; pid 檔案
nodaemon=false ; 是否在前台啟動,預設是 false,即以 daemon 的方式啟動
minfds=1024 ; 可以開啟的檔案描述符的最小值,預設 1024
minprocs=200 ; 可以開啟的程序數的最小值,預設 200
[rpcinte***ce:supervisor]
supervisor.rpcinte***ce_factory = supervisor.rpcinte***ce:make_main_rpcinte***ce
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; 通過 unix socket 連線 supervisord,路徑與 unix_http_server 部分的 file 一致
[include]
files = relative/directory/*.ini ; 可以是 *.conf 或 *.ini
program 配置
directory = /myproject ; 程式的啟動目錄
autostart = true ; 在 supervisord 啟動的時候也自動啟動
startsecs = 5 ; 啟動 5 秒後沒有異常退出,就當作已經正常啟動了
autorestart = true ; 程式異常退出後自動重啟
startretries = 3 ; 啟動失敗自動重試次數,預設是 3
user = www ; 用哪個使用者啟動
redirect_stderr = true ; 把 stderr 重定向到 stdout,預設 false
stdout_logfile_maxbytes = 50mb ; stdout 日誌檔案大小,預設 50mb
stdout_logfile_backups = 20 ; stdout 日誌檔案備份數
stopasgroup=true
killasgroup=true
啟動
手工啟動
supervisord -c /etc/supervisord.conf
新增為服務,並新增開機啟動(centos 7)
(1).新建supervisord.service
檔案
#supervisord.service
[unit]
description=supervisor daemon
[service]
type=forking
execstart=/bin/supervisord -c /etc/supervisord.conf
execstop=/bin/supervisorctl shutdown
execreload=/bin/supervisorctl reload
killmode=process
restart=on-failure
restartsec=42s
[install]
wantedby=multi-user.target
(2).新增為服務並開機啟動
cp supervisord.service /usr/lib/systemd/system/
service supervisord start
chkconfig supervisord on
supervisorctlsupervisorctl status
supervisorctl reread
supervisorctl update
Supervisor程序管理
supervisor 是用python開發的乙個client server服務,是linux unix系統下的乙個程序管理工具,不支援windows系統。它可以很方便的監聽 啟動 停止 重啟乙個或多個程序。用supervisor管理的程序,當乙個程序意外被殺死,supervisort監聽到程序死後,...
supervisor 管理程序
pip install supervisor 配置 etc supervisord.conf file var run supervisor.sock unix socket 檔案,supervisorctl 會使用,如果不能自動建立,可能是沒有許可權,需要手動新增 supervisord logf...
Supervisor管理程序
2016年04月14日 18 26 45 一 新增好配置檔案後 二 更新新的配置到supervisord vb view plain copy supervisorctl update 三 重新啟動配置中的所有程式 vb view plain copy supervisorctl reload 四 ...