pip install supervisor
配置/etc/supervisord.conf
file=/var/run/supervisor.sock ; unix socket 檔案,supervisorctl 會使用,如果不能自動建立,可能是沒有許可權,需要手動新增
[supervisord]
logfile=/var/log/supervisord.log ; 日誌檔案,預設是 $cwd/supervisord.log
logfile_maxbytes=50mb ; 日誌檔案大小,超出會 rotate,預設 50mb
logfile_backups=10 ; 日誌檔案保留備份數量預設 10
loglevel=info ; 日誌級別,預設 info,其它: debug,warn,trace
pidfile=/var/run/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:///var/run/supervisor.sock ; 通過 unix socket 連線 supervisord,路徑與 unix_http_server 部分的 file 一致
[include]
files=/web/website/supervisor/*.conf程式配置
/web/website/supervisor/kalaxing.conf
[program:kalaxing]
directory = /web/website/kalaxing ; 程式的啟動目錄
command = python task.py ; 啟動命令
autostart = true ; 在 supervisord 啟動的時候也自動啟動
startsecs = 5 ; 啟動 5 秒後沒有異常退出,就當作已經正常啟動了
autorestart = true ; 程式異常退出後自動重啟
startretries = 3 ; 啟動失敗自動重試次數,預設是 3
user = root ; 用哪個使用者啟動
redirect_stderr = true ; 把 stderr 重定向到 stdout,預設 false
stdout_logfile_maxbytes = 20mb ; stdout 日誌檔案大小,預設 50mb
stdout_logfile_backups = 20 ; stdout 日誌檔案備份數
; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案)
stdout_logfile = /var/log/kalaxing.log
執行
supervisord -c /etc/supervisord.conf
檢視 supervisord 是否在執行:
ps aux | grep supervisord
命令列輸入supervisorctl,則會進入supervisorctl的shell介面,有以下方法:
status # 檢視程式狀態
stop kalaxing # 關閉 kalaxing 程式
start kalaxing # 啟動 kalaxing 程式
restart kalaxing #修改**後要執行這個命令,重啟程式才能生效。
reread # 讀取有更新(增加)的配置檔案,不會啟動新新增的程式
update # 重啟配置檔案修改過的程式
也可以直接執行,與上面功能一樣
啟動 supervisorctl start kalaxing
重啟 supervisorctl restart kalaxing #修改**後要執行這個命令,重啟程式才能生效。
Supervisor程序管理
supervisor 是用python開發的乙個client server服務,是linux unix系統下的乙個程序管理工具,不支援windows系統。它可以很方便的監聽 啟動 停止 重啟乙個或多個程序。用supervisor管理的程序,當乙個程序意外被殺死,supervisort監聽到程序死後,...
supervisor 管理程序
2019獨角獸企業重金招聘python工程師標準 說明supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動 重啟 關閉程序.安裝pip install supervisor配置echo supervisord conf etc supervisord.confsuper...
Supervisor管理程序
2016年04月14日 18 26 45 一 新增好配置檔案後 二 更新新的配置到supervisord vb view plain copy supervisorctl update 三 重新啟動配置中的所有程式 vb view plain copy supervisorctl reload 四 ...