为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
修改 supervisord.conf
配置;
vim /etc/supervisor/supervisord.conf
添加如下内容
[include]
files = /etc/supervisor/conf.d/*.conf
修改 laravel-worker.conf
配置
vim /etc/supervisor/conf.d/laravel-worker.conf
添加如下内容
[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
将 /www/baijunyao
替换为自己项目的绝对路径
numprocs 是进程数 文档默认是8 开多了浪费资源 根据自己的实际情况定
给执行权限
chmod -R +x /etc/supervisor/conf.d
启动 supervisord
supervisord -c /etc/supervisor/supervisord.conf
如果提示如下错误
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.
执行关闭命令:
supervisorctl shutdown
再尝试启动
supervisord -c /etc/supervisor/supervisord.conf
查看是否运行
ps -ef | grep 'supervisord'

依次运行如下命令;启动 laravel-worker
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
如果报这类错误
laravel-worker:laravel-worker_00: ERROR (spawn error)
laravel-worker:laravel-worker_01: ERROR (spawn error)
那就laravel 中的代码写的有问题;
或者是指定的 stdout_logfile
文件没有权限;
执行 supervisorctl
supervisorctl
如果输入类似下面这样则表示成功;

如果没有成功发送邮件:
手动执行下面的命令查看具体的报错信息;
php /www/baijunyao/artisan queue:work redis --sleep=3 --tries=3
将 /www/baijunyao
替换为自己项目的绝对路径
为laravel队列安装supervisor并配置的更多相关文章
- laravel 守护进程Supervisor的配置
安装Supervisor Supervisor是Linux系统中常用的进程守护程序.如果队列进程queue:work意外关闭,它会自动重启启动队列进程.在Ubuntu安装Supervisor 非常简单 ...
- Laravel教程 一:安装及环境配置
Laravel教程 一:安装及环境配置 此文章为原创文章,未经同意,禁止转载. Homestead 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算有机 ...
- Laravel系列教程一:安装及环境配置
免费视频教程地址https://laravist.com/series/laravel-5-basic 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算 ...
- Laravel框架安装RabbitMQ消息中间件步骤
Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...
- Laravel 队列使用
触发 任务的触发,主要的实现是在IlluminateFoundationBusDispatchesJobs这个trait中实现的,其只包含两个方法 protected function dispatc ...
- CentOS7 下 安装 supervisor以及使用
CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...
- Supervisor 的配置与使用
环境:ubuntu 14.04 lts http://supervisord.org/liunx 下有很多守护进程的工具,如 nohup,screen,supervisor 等,supervisor ...
- Laravel Homestead安装教程
1/先在https://www.vagrantup.com 下载vagrantup ,对应平台下载,并安装,安装后可以在命令行使用vagrant https://www.vagrantup.com/ ...
- laravel多种安装方法
首先请确保环境为 PHP >= 5.5.9 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 方法一: 直接下载安装好的lar ...
随机推荐
- python:3种爬虫的优缺点
性能对比 爬取方法 性 能 ...
- scrapy初探(一)-斗鱼TV直播信息抓取
由于有相关需求,最近两天开始学了一下scrapy 这次我们就以爬取斗鱼直播间为例,我们准备爬取斗鱼所有的在线直播信息, 包括1.主播昵称 2.直播领域 3.所在页面数 4.直播观看人数 5.直播间ur ...
- C#中关于对out和ref的认识
1.两者都是按照地址进行传递的.2.ref关键字是的参数按照引用传递的方式进行.他的效果是控制权传递会调用方法是,可以对这个参数进行修改 要使用ref参数,那么方法的定义和调用方法都必须进行显示的 ...
- 框架tensorflow3
tensorflow3 tensorflow 可视化好帮手: tf.train.SummaryWriter报错,改为tf.summary.FileWriter 软件包安装yum install sql ...
- C#operator作用
opertor用于定义类型转化时采用两种方式,饮食转换implicit和显示转换explicit public static implicit 目标类型(被转化类型 变量参数) { return 目标 ...
- Go语言判断if else语句
基本格式: if 条件语句{ 执行语句 }else{ 执行语句 } package main import "fmt" func main(){ fmt.Println(Add(- ...
- Go Example--defer
package main import ( "fmt" "os" ) func main() { f := createFile("/tmp/defe ...
- LeetCode - Word Subsets
We are given two arrays A and B of words. Each word is a string of lowercase letters. Now, say that ...
- mySQL 判断表是否存
select `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` where `TABLE_SCHEMA`='数据库名' and `TABLE_NAME`= ...
- SqlDbx 个人版本使用指定的instant client
set Oracle_Home=D:\Toolkit\Oracle kits\instantclient_x86 set TNS_ADMIN=%Oracle_Home% set NLS_LANG=SI ...