laravel 进程监视器Supervisor安装配置

马克飞 23天前 46

前言

昨天我写了laravel消息队的消费,但是这个worker只要退出或者关闭shell就会停止,我们需要一个进程监视器来守护它,官方是说用supervisor,我就来安装配置一下supervisor

安装

  • 执行命令
yum install supervisor

配置

  • 官网写的是建一个laravel-worker.conf,但我看了/etc/supervisord.conf,发现是以.ini结尾的,不知道是不是版本问题,那就直接在/etc/supervisord.d/下新建一个pay-worker.ini,因为我是用来处理支付的队列的。

  • 编辑pay-worker.ini,添加如下内容:

[program:payment-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /www/project/artisan queue:work redis --queue=unified_pay --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/www/pay-daemon.log
stopwaitsecs=600
  • 给supervisord.d目录执行权限
chmod -R +x /etc/supervisord.d
  • 启动 supervisord,不启动会报No such file or directory: file: /usr/lib64/python2.7/socket.py line: 224错
supervisord -c /etc/supervisord.conf
  • 查看是否启动
ps -ef | grep 'supervisord'

看到类似如下这样,就表示成功

root      3337     0  0 10:59 ?        00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf
root      3346  2582  0 10:59 pts/1    00:00:00 grep --color=auto supervisord
  • 依次运行如下命令:每次配置文件改动都需要运行下
supervisorctl reread
supervisorctl update
supervisorctl start payment-worker:*

起来后,可以看到redis中的队列已经被自动消费了

最后:还是一样,有问题可以给我评论一起探讨-_-!

最新回复 (0)
    • 都市菜鸟网
      2
        立即登录 立即注册 
返回