supervisor 管理程序

2021-09-24 12:41:07 字數 2612 閱讀 9521

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

supervisorctl
supervisorctl 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 四 ...