Supervisor部署
Supervisor是用Python
開發(fā)的一個client/server
服務(wù),是Linux/Unix
系統(tǒng)下的一個進(jìn)程管理工具,不支持Windows
系統(tǒng)。很方便的監(jiān)聽、啟動、停止、重啟一個或多個進(jìn)程。用Supervisor
管理的進(jìn)程,當(dāng)一個進(jìn)程意外被Kill
,會自動將它重新拉起,不需要開發(fā)者自己編寫shell
進(jìn)行進(jìn)程管理來維護(hù)自己的服務(wù)。
安裝Supervisor
采用Ubuntu
系統(tǒng)下的安裝方式進(jìn)行演示:
apt-get -y install supervisor
創(chuàng)建配置文件
vim /etc/supervisor/conf.d/easyswoole.conf
文件內(nèi)容如下:
# 設(shè)置應(yīng)用名稱為easyswoole
[program:easyswoole]
# 設(shè)置運(yùn)行目錄
directory=/data/wwwroot/EasySwoole3.7.x
# 項(xiàng)目的啟動命令
command=php easyswoole.php server start
# 設(shè)置用戶來運(yùn)行該進(jìn)程
user=www-data
# 是否隨著supervisor啟動時 自動啟動該應(yīng)用
autostart=true
# 進(jìn)程退出 是否自動重啟進(jìn)程
autorestart=true
# 進(jìn)程啟動多少秒之后被認(rèn)為是啟動成功 默認(rèn)1s
startsecs=1
# 失敗最大嘗試次數(shù) 默認(rèn)3
startretries=3
# stderr
stderr_logfile=/data/wwwlog/easyswoole-stderr.log
# stdout
stdout_logfile=/data/wwwlog/easyswoole-stdout.log
啟動Supervisor
service supervisor start
Supervisorctl
啟動EasySwoole應(yīng)用
supervisorctl start easyswoole
停止EasySwoole應(yīng)用
supervisorctl stop easyswoole
重啟EasySwoole應(yīng)用
supervisorctl restart easyswoole
啟動EasySwoole應(yīng)用
supervisorctl start easyswoole
查看所有監(jiān)控的應(yīng)用
supervisorctl status
重新加載配置文件
supervisorctl update
重啟所有應(yīng)用
supervisorctl reload