热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在centos7上安装和配置supervisord以永久运行Laravel队列

如何解决《在centos7上安装和配置supervisord以永久运行Laravel队列》经验,为你挑选了2个好方法。

我想在我的项目中使用Laravel队列系统,我想运行php artisan队列:在服务器的后台永久工作,我做了一些搜索,我找到了一个命令行,即使从ssh终端退出后也可以运行它但它可以在某些情况下会失败,可能会给我带来可怕的问题.所以过了一会儿我发现有一个名为Supervisord的软件包,即使服务器重启后也可以重启命令.但不幸的是我的linux知识很低,所以我想请一个人从0到100逐步帮助如何安装Supervisord并在centos 7上配置它,之后设置队列命令行.非常感谢..



1> Abdu..:

这里是如何在centos 7上安装和配置supervisord以永久运行Laravel队列:

    easy_install supervisor

    yum install supervisor

    vim /etc/supervisord.conf 编辑部分程序如下:

[program:laravel-worker]
command=php /path/to/app.com/artisan queue:work 
process_name=%(program_name)s_%(process_num)02d
numprocs=8 
priority=999 
autostart=true
autorestart=true  
startsecs=1
startretries=3
user=apache
redirect_stderr=true
stdout_logfile=/path/to/log/worker.log

    systemctl enable supervisord 在开始时自动运行

    systemctl restart supervisord 重启服务


您假设人们有“ easy_install”,就我而言,我的新CentOS没有。要获得它:`yum install -y python-setuptools`然后可以继续执行(除非您是root,否则所有命令以`sudo`开头)。这是行不通的:`yum install administrator`:已经通过easy_install安装了。

2> Chris..:

希望这对某人有用,这是我在@Abdu的回答之外经过的使CentOS 7正常运行的过程。

1.安装主管

easy_install supervisor

*如果未安装,请运行yum install -y python-setuptools然后easy_install supervisor

2.准备工作

为了使理想的设置运行,您应该运行以下命令...

# create directory for supervisor logs
mkdir /var/log/supervisor

# create directory for supervisor configs
mkdir -p /etc/supervisor/conf.d

# create config directory for supervisor
cat <> /etc/supervisor/supervisord.conf
; supervisor config file

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket

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

# create systemctl service script
cat <> /lib/systemd/system/supervisord.service
[Unit]
Description=Supervisor process control system for UNIX
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=50s

[Install]
WantedBy=multi-user.target
EOT

完成此操作后,您现在应该可以使用systemctl启动和停止主管。要启动systemctl,请运行systemctl start supervisord。要查看主管的状态,请运行systemctl status supervisord

您可以根据需要创建任意数量的自定义配置 /etc/supervisor/conf.d

3.在系统启动时启用

您还应该在启动时通过运行启用超级用户

systemctl enable supervisord


推荐阅读
author-avatar
我的爱来了2012_800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有