安装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 上海南京西路
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。