Supervisor 允許其使用者在UNIX類別作業系統上控制多個進程。 區塊如下:
方便
需要為每個行程實例編寫rc.d腳本通常是不方便的。 rc.d腳本是進程初始化/自動啟動/管理的常用形式,但寫入和維護可能會很痛苦。此外,rc.d腳本無法自動重新啟動崩潰的進程,且許多程式在崩潰時不會正常重新啟動。 Supervisord啟動進程作為其子進程,並且可以配置為在崩潰時自動重新啟動它們。它也可以自動配置為在其自身的呼叫中啟動進程。
準確性
在UNIX上的進程通常很難獲得準確的上/下狀態。 Pidfiles常常說謊。 Supervisord啟動進程作為子進程,所以它總是知道它的子進程的真正的上/下狀態,可以方便地查詢這些資料。
進程組
進程通常需要以群組為單位啟動和停止,有時甚至在「優先順序」中。人們常常難以解釋這一點。 Supervisor 允許您為進程分配優先級,並允許使用者透過supervisorctl客戶端發出命令,如“全部啟動”和“重新啟動所有”,以預先分配的優先順序啟動它們。此外,進程可以分組為“進程組”,一組邏輯關聯進程可以作為一個單元停止並啟動。
簡單
Supervisor透過簡單的INI風格的設定檔進行配置,易於學習。它提供了許多每個進程選項,使您的生活更容易,例如重新啟動失敗的進程和自動日誌輪替。
集中
進程可以單獨或分組控制。您可以設定Supervisor以提供本機或遠端命令列和Web介面。
高效率
Supervisor透過fork / exec啟動其子進程,子進程不進行後台進程。
擴展性強
Supervisor有一個簡單的事件通知協議,用任何語言寫的程式都可以用來管理它,還有一個用於控制的XML-RPC介面。它還使用可以由Python開發人員利用的擴展點建構。
相容
supervisor除Windows之外。它在Linux,Mac OS X,Solaris和FreeBSD上進行了測試和支援。它完全用Python編寫,因此安裝不需要C編譯器。
穩定性
Supervisor已經存在多年,並已在許多伺服器上使用。
supervisord
supervisord服務端程式。它負責在自己的呼叫中啟動子程序,回應客戶端的命令,重新啟動崩潰或退出的子進程,記錄其子進程stdout和stderr 輸出,以及產生和處理對應於子進程生命週期中的「事件」。
設定檔。這通常位於/etc/supervisord.conf中。此設定檔是“Windows-INI”樣式的設定檔。適當的檔案系統權限來保護此檔案非常重要,因為它可能包含未加密的使用者名稱和密碼。
supervisorctl
supervisor的命令列客戶端名為 supervisorctl。它為supervisor提供的功能提供了一個類似shell的介面。從supervisorctl,使用者可以連接到不同的 supervisord,停止和啟動的子進程,並獲得運行的進程的清單supervisord。
命令列客戶端透過UNIX域套接字或Internet(TCP)套接字與伺服器通訊。伺服器可以斷言客戶端的使用者在允許他執行命令之前應該出現認證憑證。客戶端進程通常使用與伺服器相同的配置文件,但其中具有[supervisorctl]部分的任何設定檔都可以正常工作。
Web Server
Web Server 可以透過瀏覽器存取檢視和控制進程狀態,在置檔案的[inet_http_server]區塊裡設定,存取伺服器URL(例如http:// localhost:9001 /)以透過Web介面查看和控制進程狀態。
XML-RPC接口
#服務於Web UI的相同的HTTP伺服器提供了一個XML-RPC接口,可用於詢問和控制supervisor及其運行的程式。請參閱XML-RPC API文件。
安裝使用方法 點選這裡 wuguiyunwei.com
以上是supervisor是如何安裝設定的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!