Supervisor是一個Linux下用Python開發的進程管理工具,提供了web管理界面,經過配置須要監控的進程,能夠很方便的監控並管理進程,更厲害的是,當監控的進程由於各類緣由斷開的時候,能自定重啓該進程。php
Ubuntu下安裝很是方便:html
sudo apt-get install supervisor
安裝完成後,會在 /usr/bin 下加入三個命令:linux
echo_superisord_conf 生成一個配置文件示例(建議僅作學習瞭解使用)web
supervisord 服務端服務器
supervisorctl 客戶端運維
3.安裝完成後,會在 /etc 目錄下建立一個 supervisor 目錄用於存放supervisor的配置文件。socket
/etc/supervisor工具
/conf.d (文件夾)學習
supervisord.conf (文件)測試
方便起見,把supervisor服務器相關的配置寫入supervisord.conf中,把監控各個進程的配置,按照進程名存在 conf.d 目錄下。(這個能夠在supervisord.conf中的[include]
部分下配置)
個人supervisor.conf的配置如圖:
簡單說明:
[unix_http_server] 配置socket鏈接部分
[supervisord] 配置supervisor服務器部分
[supervisorctl] 配置supervisor客戶端部分
[inet_http_server] 配置web管理界面
[include] 配置須要引入的其餘配置
2.個人監控進程配置(./conf.d/test.conf)如圖:
這裏是一個測試程序,目的是使用supervisor管理test.php腳本進程,使其被kill後自動重啓。
3.關於配置的詳細說明:
官網配置文檔(很全很全,還有示例)
運維生存時間——使用 supervisor 管理進程
1.準備一個簡單的PHP測試腳本 test.php
<?php while(1){ sleep(10); }
2.啓動supervisor
3.查看test.php腳本的進程,kill掉,再次查看test.php的狀態,已經從新啓動
4.查看web管理界面