当laravel项目安装了laravels的时候,由于各种原因导致laravels服务停止,这个时候我们可以选择Supervisor来
管理laravels服务,具体安装配置如下:
yum install supervisor
如果发生以下异常
解决方案先安装扩展
yum install epel-release
然后在执行
yum install supervisor
启动Supervisor服务
1 supervisord -c /etc/supervisord.conf
在supervisord.conf配置文件中我们可以看到配置的文件地址supervisord.d/.in文件为配置项目文件
进入/etc/supervisord.d/新建配置文件laravels.ini 配置如下 这个laravels.ini配置文件要有执行权限
[program:laravels]
command=docker exec php bash -c '/docker/www/lmrs-2008/bin/laravels restart -i'
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/docker/www/lmrs-2008/storage/logs/swool.log
stderr_logfile=/docker/www/lmrs-2008/storage/logs/swool.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d
2.配置完成后对配置项进行载入
supervisord启动成功后,可以通过supervisorctl客户端控制进程,启动、停止、重启。运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的所有进程。
supervisorctl #进入客户端
help #查看命令
对应命令 reload 加载 update 更新 reread 载入
启动后,可以通过ps命令查看是否真实的启动了
1. `ps aux|grep superviosrd`
然后你就可以通过如下命令对supervisor进行操作
1. `$ supervisorctl status # 查看程序状态`
2. `$ supervisorctl stop program_name # 关闭 program_name 程序`
3. `$ supervisorctl start program_name # 启动 program_name 程序`
4. `$ supervisorctl restart program_name # 重启 program_name 程序`
5. `$ supervisorctl reread #``读取有更新(增加)的配置文件,不会启动新添加的程序,也不会重启任何程序`
6. `$ supervisorctl reload # 载入最新的配置文件,停止原有的进程并按照新的配置启动`
7. `$ supervisorctl update #``重启配置文件修改过的程序,配置没有改动的进程不会收到影响而重启`
3.配置完成后项目可正常访问laravels就监听成功了。