supervisor 是基於 python 的任務管理工具,用來自動執行各種後台任務.而且簡單易用。
安裝supervisor :
pip install supervisor
生成配置檔案:
echo_supervisord_conf > /etc/supervisord.conf
vim /etc/supervisord.conf
在末尾追加乙個任務,引數解釋:
1#supervisord.conf配置檔案引數解釋,,分號表示注釋23
[program:xx] ;是被管理的程序配置引數,xx是程序的名稱
45 command=/opt/redis/src/redis-server /opt/redis/redis.conf ; 想要啟動的程式命令,(可直接指定配置檔案啟動)命令和配置檔案都是絕對路徑
6 autostart=true ; 在supervisord啟動的時候也自動啟動
7 startsecs=10; 啟動10秒後沒有異常退出,就表示程序正常啟動了,預設為1秒
8 autorestart=true ; 程式退出後自動重啟,可選值:[unexpected,true,false],預設為unexpected,表示程序意外殺死後才重啟
9 startretries=3; 啟動失敗自動重試次數,預設是3
10 user=tomcat ; 用哪個使用者啟動程序,預設是root
11 priority=999; 程序啟動優先順序,預設999,值小的優先啟動
12 redirect_stderr=true ; 把stderr重定向到stdout,預設false
13 stdout_logfile_maxbytes=20mb ; stdout 日誌檔案大小,預設50mb
14 stdout_logfile_backups = 20; stdout 日誌檔案備份數,預設是10
15; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案)
16 stdout_logfile=/opt/redis/logs/redis.log
17 stopasgroup=false ;預設為false,程序被殺死時,是否向這個程序組傳送stop訊號,包括子程序
18 killasgroup=false ;預設為false,向程序組傳送kill訊號,包括子程序
啟動supervisor:
supervisord -c /etc/supervisord.conf #啟動supervisor
啟動xx專案:
supervisorctl -c /etc/supervisord.conf restart xx #重啟xx專案這樣就簡單的實現了程序命令的自動管理!!
附上部分其他命令引數:
1更新新的配置到supervisord
2supervisorctl update
3重新啟動配置中的所有程式
4supervisorctl reload
5啟動某個程序
6supervisorctl start xx
7檢視正在守候的程序
8supervisorctl
9停止某一程序
10pervisorctl stop xx
11重啟某一程序
12supervisorctl restart xx
13停止全部程序
14supervisorctl stop all
15 注意:顯示用stop停止掉的程序,用reload或者update都不會自動重啟。
Supervisor 程序管理工具
supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動 重啟 關閉程序 不僅僅是 python 程序 除了對單個程序的控制,還可以同時啟動 關閉多個程序,比如很不幸的伺服器出問題導致所有應用程式都被殺死,此時可以用 supervisor 同時啟動所有應用程式而不是乙個乙個...
Supervisor 簡單強大的程序管理工具
supervisor是乙個linux下用python開發的程序管理工具,提供了web管理介面,通過配置需要監控的程序,可以很方便的監控並管理程序,更厲害的是,當監控的程序因為各種原因斷開的時候,能自定重啟該程序。ubuntu下安裝非常方便 sudo apt get install superviso...
後台程序管理工具 supervisor
supervisor是乙個linux下的程序管理工具,有時須要開發一些後台服務類的程式。這類程式通常不能由於意外掛程式掉。所以最好能在出現意外掛程式掉的情況下可以重新啟動,繼續服務。之前我一直採用建立daemon,即守護程序的方式來實現,再通過其它程序監控,近期發現了這個後台程序管理神器。通過sup...