Toh*_*had 19 supervisord laravel centos7 laravel-queue
我想在我的项目中使用Laravel队列系统,我想运行php artisan队列:在服务器的后台永久工作,我做了一些搜索,我找到了一个命令行,即使从ssh终端退出后也可以运行它但它可以在某些情况下会失败,可能会给我带来可怕的问题.所以过了一会儿我发现有一个名为Supervisord的软件包,即使服务器重启后也可以重启命令.但不幸的是我的linux知识很低,所以我想请一个人从0到100逐步帮助如何安装Supervisord并在centos 7上配置它,之后设置队列命令行.非常感谢..
Abd*_*bdu 50
这里是如何在centos 7上安装和配置supervisord以永久运行Laravel队列:
easy_install supervisor
yum install supervisor
vim /etc/supervisord.conf
编辑部分程序如下: Run Code Online (Sandbox Code Playgroud)[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
重启服务希望这对某人有用,这是我在@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 <<EOT >> /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 <<EOT >> /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
Run Code Online (Sandbox Code Playgroud)
完成此操作后,您现在应该可以使用systemctl启动和停止主管。要启动systemctl,请运行systemctl start supervisord
。要查看主管的状态,请运行systemctl status supervisord
。
您可以根据需要创建任意数量的自定义配置 /etc/supervisor/conf.d
3.在系统启动时启用
您还应该在启动时通过运行启用超级用户
systemctl enable supervisord
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25322 次 |
最近记录: |