mac supervisor

Supervisor是用Python開發的一個client/server服務,是Linux/Unix系統下的一個進程管理工具,不支持Windows系統
它能將一個普通的命令行進程變爲後臺daemon,並監控進程狀態,異常退出時能自動重啓php

1、安裝html

一、可使用python的pip安裝
   pip install supervisor
二、在mac下使用brew安裝
   brew install supervisor
   1)安裝事後在/usr/local/etc目錄下存在supervisord.ini配置文件。爲主配置文件,通常不用修改參數配置,具體參數值參考手冊:http://www.supervisord.org/configuration.html
   2)在主配置文件最後一行:files = /usr/local/etc/supervisor.d/*.ini 表明子配置文件目錄,即咱們要監控的程序命令配置
   3)啓動直接使用brew services start supervisor(linux其餘系統按照正常啓動便可)

2、應用配置python

一、子程序配置說明
#項目名
[program:redis]
#腳本目錄
directory=/user/local/bin
#腳本執行命令
command=php /usr/local/www/test.php

#supervisor啓動的時候是否隨着同時啓動,默認True
autostart=true
#當程序exit的時候,這個program不會自動重啓,默認unexpected,設置子進程掛掉後自動重啓的狀況,有三個選項,false,unexpected和true。若是爲false的時候,不管什麼狀況下,都不會被從新啓動,若是爲unexpected,只有當進程的退出碼不在下面的exitcodes裏面定義的
autorestart=false
#這個選項是子進程啓動多少秒以後,此時狀態若是是running,則咱們認爲啓動成功了。默認值爲1
startsecs=1

#腳本運行的用戶身份 
user = test

#日誌輸出 
stderr_logfile=
stdout_logfile=
#把stderr重定向到stdout,默認 false
redirect_stderr = true
#stdout日誌文件大小,默認 50MB
stdout_logfile_maxbytes = 20M
#stdout日誌文件備份數
stdout_logfile_backups = 20

3、客戶端命令linux

#查看進程的狀態
supervisorctl status    
#中止進程    
supervisorctl stop all || 進程名稱  
#啓動進程     
supervisorctl start all || 進程名稱  
#重啓進程   
supervisorctl restart  all || 進程名稱   
#從新加載配置文件啓動
supervisorctl update 
#重啓全部程序
supervisorctl reload

supervisorctl爲客戶端命令

注意:直接使用supervisorctl可能會報錯(http://localhost:9001 refused connection),注意加上-c /usr/local/etc/supervisord.ini配置路徑。
相關文章
相關標籤/搜索