安装supervisor

yum install supervisor

安装后通常会在/etc/目录下生成一个supervisord.conf文件和supervisord.d目录,配置文件通常都是放在这个目录下的

打开/etc/supervisord.conf文件,最后一行会有

[include]
files = supervisord.d/*.ini

理解为加载supervisord.d文件夹下的所有.ini文件

那我配置就写在这里

创建laravel-worker.ini文件,内容如下,具体参数根据你的实际情况来更改

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /data/www/YouProjectDirectory/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=apache
numprocs=8
redirect_stderr=true
stdout_logfile=/data/www/YouProjectDirectory/storage/logs/worker.log

上述配置中numprocs 指令让 Supervisor 运行 8 个 queue:work 进程并监视它们,如果失败的话自动重启,当然,你需要修改 queue:work sqs 的 command 指令来映射你的队列连接

当创建配置文件后,需要刷新 Supervisor 的配置信息并使用如下命令启动进程:

sudo supervisord
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*

如果启动时报laravel-worker: added process group错误,大概率是你引入配置文件这块出错了,检查下你的.ini配置文件位置对不对,通常直接丢在supervisord.d目录中就可以,前提你没更改过supervisord.conf文件中include file的位置

开机启动服务
systemctl enable supervisord

验证一下是否为开机启动
systemctl is-enabled supervisord

2021.06.10 上海南京西路


LinAt
10 声望0 粉丝