欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Ubuntu+Laravel+MQ+Supervisor队列系统搭建流程

Ubuntu+Laravel+MQ+Supervisor队列系统搭建流程

2025/6/20 10:50:15 来源:https://blog.csdn.net/weixin_43968370/article/details/145609951  浏览:    关键词:Ubuntu+Laravel+MQ+Supervisor队列系统搭建流程

1、安装MQ环境

sudo apt install -y rabbitmq-server
sudo systemctl enable rabbitmq-server --now

2、进入laravel项目,安装MQ队列驱动

composer require vladimir-yuldashev/laravel-queue-rabbitmq

3、配置 .env

QUEUE_CONNECTION=rabbitmq
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest

4、创建Job

php artisan make:job CallApiJob

5、安装 Supervisor

sudo apt update
sudo apt install supervisor

6、创建 Laravel 队列工作进程配置文件,在 /etc/supervisor/conf.d/ 目录下创建一个配置文件,例如 laravel-queue.conf,内容如下:

[program:laravel-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/artisan queue:work --queue=ApiCoupons --tries=3 --daemon
autostart=true
autorestart=true
numprocs=2
redirect_stderr=true
stdout_logfile=/dev/null

7、修改supervisor.conf配置加入以下配置:

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

8、重载 Supervisor 配置并启动

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-queue:*

9. 使用 Git Hook 自动重启

如果你在项目中使用 Git 进行版本控制,你可以利用 Git hooks(例如 post-merge 或 post-checkout)来触发 php artisan queue:restart 命令。

配置方法:

  • 创建 Git hook 脚本

在你的项目根目录下,进入 .git/hooks 目录,创建一个 post-merge 或 post-checkout 脚本。

  • 编辑 post-merge 文件
nano .git/hooks/post-merge

        在文件中添加以下内容:

#!/bin/bash
php /path/to/artisan queue:restart
  • post-merge 文件执行权限
chmod +x .git/hooks/post-merge

这样,当你执行 git pull 或 git checkout 后,Git 会自动执行 php artisan queue:restart,从而重启队列进程并使其使用最新代码。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词