CentOS下使用supervisor配置Laravel多线程任务队列

栏目: 编程语言 · PHP · 发布时间: 6年前

内容简介:supervisor是一款python开发的软件,可以很方便的守护PHP脚本运行,在Laravel中,可以使用它来守护任务队列进程,并且支援多线程及输出日志。

supervisor是一款 python 开发的软件,可以很方便的守护 PHP 脚本运行,在 Laravel 中,可以使用它来守护任务队列进程,并且支援多线程及输出日志。

  1. 安装

    yum install python-setuptools
    easy_install supervisor
    
  1. 创建配置文件及调整配置

    运行下列命令即可生成一个配置文件在 /etc/supervisord.conf

    echo_supervisord_conf > /etc/supervisord.conf
    

    接着需要打开这个配置文件,修改一些配置,防止在使用过程中出现一些诡异情况

    首先打开配置文件:

    vim /etc/supervisord.conf
    

    将下列配置节进行修改:

    [unix_http_server]
    file=/tmp/supervisor.sock;
    ...
    [supervisord]
    logfile=/tmp/supervisord.log;
    pidfile=/tmp/supervisord.pid;
    ...
    ;[include]
    ;files = relative/directory/*.ini
    

    修改之后:

    [unix_http_server]
    # 替换/tmp 为/var/run
    file=/var/run/supervisor.sock;
    ...
    [supervisord]
    # 日志文件修改为 /var/log
    logfile=/tmp/supervisord.log;
    # pid文件修改为 /var/run
    pidfile=/var/run/supervisord.pid;
    ...
    # 去掉include节点的注释
    [include]
    # 配置文件目录 修改为 /etc/supervisor/*.conf
    files = /etc/supervisor/*.conf
    

    然后运行下列命令加载这个配置文件:

    supervisord -c /etc/supervisord.conf
    
  2. 创建项目配置文件

    因上面配置项目配置文件的路径为 /etc/supervisor/*.conf ,则将配置文件以 laravel-{项目名}.conf 的格式存放于 /etc/supervisor/ 目录下,例如 /etc/supervisor/laravel-toggle.conf

    打开这个配置文件,参考配置如下(根据个人需要进行修改):

    [program:laravel-toggle] # 这里为项目名,前缀-后缀
    process_name=%(program_name)s_%(process_num)02d
    command=php /home/wwwroot/www.toggle.co.kr/artisan queue:work # 这里填写你的项目artisan所在路径
    autostart=true # 是否自动开始
    autorestart=true # 是否自动重启(防止进程意外退出)
    user=root # 使用的用户
    numprocs=8 # 使用的进程数量
    redirect_stderr=true # 为true的话,stderr的log会并入stdout的log里面
    stdout_logfile=/home/logs/worker/toggle.co.kr.log # 日志存放路径(若无记得提前创建目录)
    
  3. 运行项目

    使用下列命令即可运行项目

    sudo supervisorctl reread # 重载supervisor配置
    sudo supervisorctl update # 更新项目配置(每次更新配置文件后都需要运行)
    sudo supervisorctl start laravel-toggle:* # 启动项目 (请根据实际情况修改项目名)
    
  4. 全部命令一览

    sudo supervisorctl # 直接运行此命令可查看现正运行的任务列表
    sudo supervisorctl restart laravel-toggle:* # 此命令可重启项目
    sudo supervisord -c /etc/supervisord.conf # 此命令可加载supervisord的配置文件
    sudo supervisorctl reread # 每次修改了supervisord.conf都需要此命令重新加载配置
    sudo echo_supervisord_conf # 此命令可显示一个默认的supervisord配置文件,可以透过">"管道符写出配置
    sudo supervisorctl update # 每次更新或添加了项目的配置文件都需要此命令来更新
    sudo supervisorctl start 项目名:* # 此命令可启动项目
    sudo supervisorctl restart 项目名:* # 此命令可重启项目
    sudo supervisorctl stop 项目名:* # 此命令可停止项目
    supervisorctl help # 查看更多帮助信息
    

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Starfish and the Spider

The Starfish and the Spider

Ori Brafman、Rod A. Beckstrom / Portfolio Hardcover / 2006-10-05 / USD 24.95

Understanding the amazing force that links some of today's most successful companies If you cut off a spider's leg, it's crippled; if you cut off its head, it dies. But if you cut off a st......一起来看看 《The Starfish and the Spider》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具