当前位置: 首页 > news >正文

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,从而重启队列进程并使其使用最新代码。

相关文章:

  • 从VGG到Transformer:深度神经网络层级演进对模型性能的深度解析与技术实践指南
  • DeepSeek 助力 Vue 开发:打造丝滑的进度条
  • 微信服务号推送消息
  • .NET Web-静态文件访问目录浏览
  • 读 DeepSeek-R1 论文笔记
  • Jenkins 配置 Git Repository 五
  • 【MySQL】通过shell脚本一键同步MySQL数据库结构和数据到指定库中
  • Mysql进阶篇(mysqlcheck - 表维护程序)
  • C# 两种方案实现调用 DeepSeek API
  • C/C++程序的内存是如何开辟的?
  • 如何在 Java 应用中实现数据库的主从复制(读写分离)?请简要描述架构和关键代码实现?
  • hbase合并队列超长问题分析
  • Android原生的HighCPU使用率查杀机制
  • centos7 升级openssl并安装python3
  • 物联网(IoT)如何与人工智能(AI)的结合
  • 【MySQL】基础篇
  • C语言面试题1——1—20
  • 【DeepSeek】deepseek可视化部署
  • 【Python网络爬虫】爬取网站图片实战
  • 黑马Redis详细笔记(实战篇---短信登录)
  • 上海市税务局:收到对刘某某存在涉税问题的举报,正依法依规办理
  • 泽连斯基与埃尔多安会面,称已决定派遣代表团前往伊斯坦布尔
  • 杭勇已任常州市政协党组成员,此前任常州市委常委、秘书长
  • 京东美团饿了么等外卖平台被约谈
  • 中国女足将于5月17日至6月2日赴美国集训并参加邀请赛
  • 多家中小银行存款利率迈入“1时代”