Supervisor管理Laravels,Laravels进程管理

当laravel项目安装了laravels的时候,由于各种原因导致laravels服务停止,这个时候我们可以选择Supervisor来
管理laravels服务,具体安装配置如下:

yum install supervisor

如果发生以下异常#

Supervisor管理Laravels,Laravels进程管理

解决方案先安装扩展#

yum install epel-release

然后在执行

yum install supervisor

启动 Supervisor 服务#

1 supervisord -c /etc/supervisord.conf

在 supervisord.conf 配置文件中我们可以看到配置的文件地址 supervisord.d/.in 文件为配置项目文件

Supervisor管理Laravels,Laravels进程管理

进入 /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 就监听成功了。

Supervisor管理Laravels,Laravels进程管理

测试 关掉 laravels 访问日志正常#

Supervisor管理Laravels,Laravels进程管理

本作品采用《CC 协议》,转载必须注明作者和本文链接
有梦想的人睡不着,没有梦想的人睡不醒。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
文章
88
粉丝
23
喜欢
134
收藏
270
排名:227
访问:4.2 万
私信
所有博文
博客标签
展开
社区赞助商