laravels的安裝詳見http://www.reibang.com/p/d50aba3dd458
1 什么是Supervisor?
Supervisor是用Python開發(fā)的一套通用的進程管理程序坯苹,能將一個普通的命令行進程變?yōu)楹笈_daemon,并監(jiān)控進程狀態(tài),異常退出時能自動重啟己单。
2 Supervisor的安裝
yum epel-release 安裝 supervisor
yum install -y epel-release && yum install -y supervisor
3 superviso命令
supervisor安裝完成后會生成三個執(zhí)行程序:supervisord刊侯、supervisorctl紧武、echo_supervisord_conf:
- supervisord:用于管理supervisor本身服務
- supervisorctl:用于管理我們需要委托給superviso工具的服務
- echo_supervisord_conf:用于生成superviso的配置文件
supervisord -c /etc/supervisord.conf #supervisord啟動
supervisorctl status laravels #狀態(tài)也可指定all
supervisorctl stop laravels #停止
supervisorctl start laravels #啟動
supervisorctl restart laravels #重啟
supervisorctl reoload laravels
4 修改配置文件
查看配置文件
cat /etc/supervisord.conf
#在末尾可以發(fā)現(xiàn)配置文件的引入函匕,如果需要也可以改為/*.conf
[include]
files = supervisord.d/*.ini
#或者直接通過sed添加
sed -i '$a [include] \
files = /etc/supervisord.d/*.conf' /etc/supervisord.conf
5 編寫需要被管理的進程laravels.ini
[program:laravels]
command=docker exec -i php bash -c '/docker/www/lmrs/bin/laravels start -i'
numprocs=1
autostart=true
autorestart=true
startretries=3
user=root
redirect_stderr=true
stdout_logfile=/docker/www/lmrs/storage/logs/supervisord-stdout.log
啟動supervisord可以看到laravels被拉起
日志文件
手動停止laravels
停止laravels
查看進程以及日志發(fā)現(xiàn)laravels被重新拉起
查看進程
查看日志