为laravel队列安装supervisor并配置

supervisor 是用 Python 开发的进程管理程序;
python 在主流的 linux 发行版都已经内置了;
pip 则是 python 的一个包管理工具;
跟 php 的 composer 类似; 
但是系统默认没有安装 pip ;
先来安装;

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
mkdir -p /etc/supervisor/conf.d
Bash
Copy

修改 supervisord.conf 配置;

vim /etc/supervisor/supervisord.conf
Bash
Copy

添加如下内容

[include]
files = /etc/supervisor/conf.d/*.conf
Bash
Copy

修改 laravel-worker.conf 配置

vim /etc/supervisor/conf.d/laravel-worker.conf
Bash
Copy

添加如下内容

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d command=php /www/baijunyao/artisan queue:work redis --sleep=3 --tries=3 autostart=true autorestart=true user=root numprocs=1 redirect_stderr=true stdout_logfile=/www/baijunyao/storage/logs/workers.log
Bash
Copy

将 /www/baijunyao 替换为自己项目的绝对路径

numprocs 是进程数 文档默认是8 开多了浪费资源 根据自己的实际情况定

给执行权限

chmod -R +x /etc/supervisor/conf.d
Bash
Copy

启动 supervisord

supervisord -c /etc/supervisor/supervisord.conf
Bash
Copy

如果提示如下错误

Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
Bash
Copy

执行关闭命令:

supervisorctl shutdown
Bash
Copy

再尝试启动

supervisord -c /etc/supervisor/supervisord.conf
Bash
Copy

查看是否运行

ps -ef | grep 'supervisord'
Bash
Copy

 

 

 

依次运行如下命令;启动 laravel-worker

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
Bash
Copy

如果报这类错误

laravel-worker:laravel-worker_00: ERROR (spawn error)
laravel-worker:laravel-worker_01: ERROR (spawn error)
Bash
Copy

那就laravel 中的代码写的有问题;
或者是指定的 stdout_logfile 文件没有权限;

执行 supervisorctl

supervisorctl
Bash
Copy

如果输入类似下面这样则表示成功;

 

 

如果没有成功发送邮件:
手动执行下面的命令查看具体的报错信息;

php /www/baijunyao/artisan queue:work redis --sleep=3 --tries=3
Bash
Copy

将 /www/baijunyao 替换为自己项目的绝对路径

 

转载于:https://www.cnblogs.com/DXYHW/p/10558340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值