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 协议》,转载必须注明作者和本文链接
有梦想的人睡不着,没有梦想的人睡不醒。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

Supervisor是个好东西

2年前 评论
sreio

supervisor配置文件详解

我还没自己使用过supervisor呢,回头一定得尝试下

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
文章
88
粉丝
21
喜欢
134
收藏
267
排名:228
访问:4.2 万
私信
所有博文
博客标签
redis
1
php
1
laravel
7
docker
3
orm
2
sync
1
pivot
1
detach
2
attach
2
算法
1
递归
1
多对多
1
lnmp环境搭建
1
GO变量
1
GO数据类型
1
IOC注入反转
1
IOC容器的绑定解析过程(绑定单例)
1
原生微信网页授权登录(natapp穿墙)
1
VMwareNAT网卡配置
1
MySQL基础架构
1
redis 主从搭建
1
Sentinel哨兵模式解决故障转移
1
elasticsearch安装
1
elasticsearch集群安装3台
1
安装kibana
1
必须了解的mysql三大日志-binlog、redo log和undo log
1
何处理数据恢复 数据丢失 面试tx的架构师的岗位问的
1
分库分表插入数据
1
创建分库分表(在主从复制的基本上)
1
分库分表总结
1
mysql总结
1
haproxy状态检测脚本(完成高可用)
1
mysql高可用衡搭建(Keepalived)
1
mysql负载均衡搭建(haproxy)
1
mysql主从恢复数据一致性(pt工具-t-table-checksum和pt-table-sync)
1
终于解决了《====》记一次mysql热备份xtrabackup(没有解决问题)
1
mysql事务
1
MYSQL8.0安装
1
Redis-cluster分布式集群搭建部署
1
比Redis-cluster还好的redis分布式集群(twemproxy)
1
Redis缓存穿透/缓存雪崩/缓存击穿(案例:产生的原因 解决方案利/弊)
1
数据结构之MySQL独爱B+树(二叉树、AVL树、红黑树、B树对比)
1
B-tree
1
B+tree
1
Mycat实现mysql的负载均衡读写分离
2
mysql双主双从 搭建配置
1
mycat 双主双从-负载均衡-高可用
1
Mycat垂直分库
1
记一次mysql高可用技术分享
1
【rabbitmq】安装ampq的扩展的踩坑总结
1
PHP操作MongoDB(增删改查)
1
golang总结
5
社区赞助商