Supervisor 安装及配置

本文档详细介绍了如何安装Supervisor,配置其启动文件,设置Laravel队列,以及如何让Supervisor在启动时自动运行。在安装过程中,会涉及到easy_install和supervisord命令,配置文件的编辑,以及Laravel worker的配置。通过这些步骤,你可以确保Laravel队列的稳定运行,并能方便地管理进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Supervisor 安装及配置

安装 supervisor

先安装 Python 的 easy_install,再通过 easy_install 安装 supervisor

yum install python-setuptools

easy_install supervisor

supervisor 安装完成后会生成三个执行程序:

supervisord:守护进程服务(用于接收进程管理命令)

supervisorctl:客户端(用于和守护进程通信,发送管理进程的指令)

echo_supervisord_conf:生成初始配置文件程序

配置文件

运行 supervisord 服务的时候,需要指定 supervisor 配置文件,如果没有显示指定,默认在以下目录查找:

/etc/supervisord.conf

/etc/supervisor/supervisord.conf 

//默认是没有这些配置文件的

生成配置文件,并建立相应目录,管理 supervisor 启动进程

echo_supervisord_conf > /etc/supervisord.conf

mkdir -p /etc/supervisor/conf.d/

编辑 /etc/supervisord.conf,修改最下面 [include] 区块内容:

[include]
files = /etc/supervisor/conf.d/*.conf

这样, supervisor 会加载 /etc/supervisor/conf.d/ 下的所有 .conf 文件

自动启动

https://github.com/Supervisor/initscripts 下载 CentOS 使用的自动启动服务脚本 centos-systemd-etcs

wget -O /usr/lib/systemd/system/supervisord.service  https://github.com/Supervisor/initscripts/raw/master/centos-systemd-etcs

将 supervisord 服务设为自启动

systemctl enable supervisord.service

输入 supervisorctl 命令可以进入 supervisor 控制台

设置 Laravel 队列

新建 /etc/supervisor/conf.d/laravel-worker.conf 文件:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/php/bin/php /xxxx/artisan queue:work database --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=www (注意用户)
numprocs=8
redirect_stderr=true
stdout_logfile=/xxxx/storage/logs/queue.log

这里需要注意的问题是文件名和头部 [program:XXX] 一定要一致,不然加载不到!

这里开启了 8 个 queue:work 进程,并监视他们,如果失败的话,自动重启;在项目的 storage/logs/queue.log 记录日志。

启动 supervisord 服务

supervisord -c /etc/supervisord.conf

至此, supervisor 安装及 Laravel 队列设置完毕!

如果以后配置文件有修改,或者新增,进入 supervisor 控制台,执行下面的命令:

# supervisorctl
supervisorctl> reread
supervisorctl> update
supervisorctl> start laravel-worker:*

重要提示

supervisor 进程已启动的情况下,长时间之后再添加新的配置的时候,通过以下方式重启 supervisor 进程!

systemctl restart supervisord.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值