第一步
Supervisor安装完成之后,默认的配置文件是/etc/supervisord.conf,应针对某些配置进行以下修改
[unix_http_server]
file=/var/run/supervisor.sock ;
[supervisord]
logfile=/var/run/supervisord.log ;
pidfile=/var/run/supervisord.pid ;
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ;
这里把所有的/tmp路径改掉,因为tmp是缓存目录,容易被linux自动清掉,所以根据个人需求进行修改。
第二步
在配置文件/etc/supervisord.conf中,打开include代码块:
[include]
files = /etc/supervisor/conf.d/*.conf //根据个人需求填写,此处引入自定义进行管理的进程的配置
在/etc/supervisor/文件夹下新建一个配置文件:laravel-worker.conf
以下为laravel官方给予的配置模板(具体参数可以详查)
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
在本例中,numprocs 指令让 Supervisor 运行 8 个 queue:work 进程并监视它们,如果失败的话自动重启。当然,你需要修改 queue:work sqs 的 command 指令来映射你的队列连接。
在命令行执行
sudo supervisord -c /etc/supervisord.conf //配置文件地址
若报错no such file 则自行检查或者创建以上修改过的配置目录文件
成功启动之后,运行命令
supervisorcrl
如下:
此时laravel的队列监听便完全常驻后台运行了!
注:若配置文件有改动,需要执行supervisorcrl update 更多supervisorcrl命令请查看手册http://supervisord.org/index.html