1. 程式人生 > >ubuntu 安裝supervisor

ubuntu 安裝supervisor

注意:以下程式碼,命令和配置在ubuntu14.04LTS上實際測試,其他發行版或ubuntu其他版本僅供參考

  • 安裝 
    安裝可以使用一下命令:
sudo apt-get install supervisor
  • 1

安裝成功後,supervisor就會預設啟動

  • 使用 
    有很多方法新增程序,看了很多部落格上的介紹和加上我的實際使用,我認為一下方法最好用: 
    將每個程序的配置檔案單獨拆分,放在/etc/supervisor/conf.d/目錄下,以.conf作為副檔名,例如test.conf定義的一個簡單的HTTP伺服器:
[program:test]
command=python -m SimpleHTTPServer
  • 1
  • 2

重啟supervisor,讓配置檔案生效,然後啟動test程序:

supervisorctl reload
supervisorctl start test
  • 1
  • 2

如果要停止程序,就用stop 
其他一些配置,通過這個例子講解

[program:meta.txn.recover.on.error]
command=/cas/bin/meta.txn.recover.on.error ; 被監控的程序路徑
numprocs=1                    ; 啟動幾個程序
directory=/cas/bin ; 執行前要不要先cd到目錄去,一般不用 autostart=true ; 隨著supervisord的啟動而啟動 autorestart=true ; 自動重啟。。當然要選上了 startretries=10 ; 啟動失敗時的最多重試次數 exitcodes=0 ; 正常退出程式碼(是說退出程式碼是這個時就不再重啟了嗎?待確定) stopsignal=KILL ; 用來殺死程序的訊號 stopwaitsecs=10
; 傳送SIGKILL前的等待時間
redirect_stderr=true ; 重定向stderr到stdout stdout_logfile=logfile ; 指定日誌檔案
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

常用命令: 
supervisorctl start programxxx,啟動某個程序

supervisorctl restart programxxx,重啟某個程序

supervisorctl stop groupworker: ,重啟所有屬於名為groupworker這個分組的程序(start,restart同理)

supervisorctl stop all,停止全部程序,注:start、restart、stop都不會載入最新的配置檔案。

supervisorctl reload,載入最新的配置檔案,停止原有程序並按新的配置啟動、管理所有程序。

supervisorctl update,根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟。

supervisor啟動和停止的日誌檔案存放在/var/log/supervisor/supervisord.log

注意:顯式用stop停止掉的程序,用reload或者update都不會自動重啟