laravels的安装详见https://www.jianshu.com/p/d50aba3dd458
1 什么是Supervisor?
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
2 Supervisor的安装
yum epel-release 安装 supervisor
yum install -y epel-release && yum install -y supervisor
3 superviso命令
supervisor安装完成后会生成三个执行程序:supervisord、supervisorctl、echo_supervisord_conf:
- supervisord:用于管理supervisor本身服务
- supervisorctl:用于管理我们需要委托给superviso工具的服务
- echo_supervisord_conf:用于生成superviso的配置文件
supervisord -c /etc/supervisord.conf #supervisord启动
supervisorctl status laravels #状态也可指定all
supervisorctl stop laravels #停止
supervisorctl start laravels #启动
supervisorctl restart laravels #重启
supervisorctl reoload laravels
4 修改配置文件
查看配置文件
cat /etc/supervisord.conf
#在末尾可以发现配置文件的引入,如果需要也可以改为/*.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被重新拉起