装置 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 上海南京西路