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

修改 supervisord.conf 配置;

vim /etc/supervisor/supervisord.conf
Bash

添加如下内容

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

修改 laravel-worker.conf 配置

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

添加如下内容

[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

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

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

给执行权限

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

启动 supervisord

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

如果提示如下错误

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

执行关闭命令:

supervisorctl shutdown
Bash

再尝试启动

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

查看是否运行

ps -ef | grep 'supervisord'
Bash

 

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

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

如果报这类错误

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

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

执行 supervisorctl

supervisorctl
Bash

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

 

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

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

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

为laravel队列安装supervisor并配置的更多相关文章

  1. laravel 守护进程Supervisor的配置

    安装Supervisor Supervisor是Linux系统中常用的进程守护程序.如果队列进程queue:work意外关闭,它会自动重启启动队列进程.在Ubuntu安装Supervisor 非常简单 ...

  2. Laravel教程 一:安装及环境配置

    Laravel教程 一:安装及环境配置 此文章为原创文章,未经同意,禁止转载. Homestead 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算有机 ...

  3. Laravel系列教程一:安装及环境配置

    免费视频教程地址https://laravist.com/series/laravel-5-basic 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算 ...

  4. Laravel框架安装RabbitMQ消息中间件步骤

    Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...

  5. Laravel 队列使用

    触发 任务的触发,主要的实现是在IlluminateFoundationBusDispatchesJobs这个trait中实现的,其只包含两个方法 protected function dispatc ...

  6. CentOS7 下 安装 supervisor以及使用

    CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...

  7. Supervisor 的配置与使用

    环境:ubuntu 14.04 lts  http://supervisord.org/liunx 下有很多守护进程的工具,如 nohup,screen,supervisor 等,supervisor ...

  8. Laravel Homestead安装教程

    1/先在https://www.vagrantup.com  下载vagrantup ,对应平台下载,并安装,安装后可以在命令行使用vagrant https://www.vagrantup.com/ ...

  9. laravel多种安装方法

    首先请确保环境为 PHP >= 5.5.9 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 方法一: 直接下载安装好的lar ...

随机推荐

  1. canvas画圆类似于锯齿指针 angular5

    拿到图的时候大致是这样的,里面的圆是有动态效果的,考虑到gif图耗资源,于是想要用canvas画出来: 仔细看图不难发现,这个锯齿圆类似于表盘,计算好弧度,不难实现: 因为项目现在用的框架是angul ...

  2. vscode 插件推荐 - 献给所有前端工程师(更新与2018.8.1)

    VScode现在已经越来越完善.性能远超Atom和webstorm,你有什么理由不用它?在这里,我会给你们推荐很多实用的插件,让你对 vscode 有更深刻的体会,渐渐地你就会知道它有多好用. 走马观 ...

  3. 集群容器管理之swarm ---服务管理

    服务管理 # 创建服务docker service create --replicas 1 --name hello busybox # docker service update --args &q ...

  4. 3.5 unittest生成测试报告HTMLTestRunner

    3.5 unittest生成测试报告HTMLTestRunner 前言批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的.unittest里面是不 ...

  5. yum 的 group的信息

    查找 yum源中有哪些group及其详细信息 1:yum groupinfo '*' | less 2:yum groupinfo '*' | less +/sendmail-cf 将 sendmai ...

  6. Chromium Settings页面修改

    /********************************************************************** * Chromium Settings页面修改 * 说明 ...

  7. day05 字典

    今日内容(dict) 1.基本格式 2.独有方法 3.公共 4.强制转换 1.基本格式 字典(可变类型,3.6之后是有序) 帮助用户去表示一个事物的信息(事物是有多个属性) 键值不能为集合,列表,字典 ...

  8. STL:unique()函数

    unique() unique()是剔除重复他是剔除相邻之间字符重复的,倘若其中中的字符前后之间是没有重复的,unique函数是起不到作用的,所以使用以前都会sort处理. unique()函数的返回 ...

  9. 使用deb 打包开发的postgres extension

    昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包 安装deb 依赖 sudo apt-get install c ...

  10. python找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息

    运营那边有个需求. 下载了一批视频文件,由于当时下载的时候陆陆续续创建了很多文件夹,并且,每个文件夹下面还有子文件夹以及视频文件,子文件夹下面有视频文件或者文件夹 现在因为需要转码,转码软件只能对单个 ...