supervisor是乙個程序監控程式。
需求一:我現在有乙個程序需要每時每刻不斷的跑,但是這個程序又有可能由於各種原因有可能中斷。當程序中斷的時候我希望能自動重新啟動它,此時,我就需要使用到了supervisor
先弄懂兩個命令:
supervisord
: supervisor的伺服器端部分,啟動supervisor就是執行這個命令
supervisorctl
:啟動supervisor的命令列視窗。
需求二:redis-server這個程序是執行redis的服務。我們要求這個服務能在意外停止後自動重啟。
安裝(centos下):
yum install python-setuptools
easy_install supervisor
測試是否安裝成功:
echo_supervisord_conf
建立配置檔案:
sudo su
#切換到root使用者,不然提示無許可權
echo_supervisord_conf > /etc/supervisord.conf
修改配置檔案:
在supervisord.conf最後增加:
[program:redis]
command = redis-server //需要執行的命令
autostart=true //supervisor啟動的時候是否隨著同時啟動
autorestart=true //當程式跑出exit的時候,這個program會自動重啟
startsecs=3 //程式重啟時候停留在runing狀態的秒數
(更多配置說明請參考:
執行命令:
supervisord
//啟動supervisor
supervisorctl
//開啟命令列
結果:
redis running pid 24068, uptime 3:41:55
ctl中: help //檢視命令
ctl中: status //檢視狀態
遇到的問題:
q: redis出現的不是running而是fatal 狀態
a: 應該要去檢視log,log在/tmp/supervisord.log
事實證明webdis也有這個問題,webdis要修改的是webdis.json這個配置檔案
完成驗證:
ps aux | grep redis
[root@vm1~]# ps aux | grep redis
root 30582 0.0 0.0 9668 1584 ? s 14:12 0:00 redis-server
kill 30582
[root@vm1 ~]# ps aux | grep redis
root 30846 0.0 0.0 9668 1552 ? s 15:19 0:00 redis-server
看到這個時候pid更新了。
使用supervisor監控程序
10 26 09,876 info success meta.txn.recover.on.error entered running state,process has stayed up for than 1 seconds startsecs 2010 08 17 10 26 48,442 i...
supervisor管理程序監控安裝及配置
supervisor是乙個用來監控程序的程式,程式部署在linux下執行,在執行的過程中可能會因為某些原因導致中斷,手動重啟又比較麻煩,這時候就可以配置supervisord來管理這些程序,實現程序自動重啟。1.使用supervisor首先需要安裝,安裝supervisor又需要python的支援,...
supervisor 監控服務
寫了乙個ftp服務,用supervisor監控一下 1.先寫乙個配置檔案,路徑和名稱為 etc supervisord.conf.d ftp server.ini program ftp server command usr local bin python data ftp server ftp ...