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

RabbitMQ最新版本4.0.2在Windows下的安装及使用

RabbitMQ 是一个开源的消息代理和队列服务器,提供可靠的消息传递和队列服务。它支持多种消息协议,包括 AMQP、STOMP、MQTT 等。本文将详细介绍如何在 Windows 系统上安装和使用最新版本的 RabbitMQ 4.0.2。

前言

RabbitMQ 是用 Erlang 语言开发的 AMQP(高级消息队列协议)的开源实现,广泛应用于消息队列、消息中间件等领域。它支持多种消息传递协议和多种客户端库,能够有效处理高并发的消息传递需求。 RabbitMQ 主要实现了 AMQP(高级消息队列协议)1.0 和 0-9-1 版本。然而,RabbitMQ 并不仅仅局限于 AMQP 协议,它还支持多种其他协议和扩展,使其能够适应更广泛的应用场景。

以下是一些 RabbitMQ 支持的协议和扩展:

1. AMQP 0-9-1

标准协议:RabbitMQ 最广泛使用的协议版本是 AMQP 0-9-1。这个版本的协议已经被许多客户端库支持,适用于大多数消息队列应用场景。

2. MQTT (Message Queuing Telemetry Transport)

轻量级协议:MQTT 是一种轻量级的消息协议,特别适合于物联网(IoT)设备和移动设备。RabbitMQ 通过插件支持 MQTT 协议,允许这些设备与 RabbitMQ 服务器进行通信。

3. STOMP (Simple Text Oriented Messaging Protocol)

简单文本协议:STOMP 是一种简单的文本消息协议,适用于多种编程语言和平台。RabbitMQ 通过插件支持 STOMP 协议,使得非 AMQP 客户端也可以与 RabbitMQ 交互。

4. Web Sockets

Web 通信:RabbitMQ 通过插件支持 Web Sockets,允许浏览器直接与 RabbitMQ 服务器进行实时通信。这使得 Web 应用可以实时接收消息。

5. RMQ (RabbitMQ Management HTTP API)

管理接口:RabbitMQ 提供了一个基于 HTTP 的管理 API,允许你通过 HTTP 请求管理 RabbitMQ 服务器,包括创建和删除队列、交换机、用户等操作。

6. MQTT over WebSockets

组合协议:RabbitMQ 支持通过 WebSockets 传输 MQTT 消息,使得 Web 应用可以直接使用 MQTT 协议与 RabbitMQ 通信。

7. AMQP 1.0

最新标准:虽然 AMQP 1.0 是最新的标准版本,但在实际应用中,AMQP 0-9-1 仍然更为常见。RabbitMQ 也支持 AMQP 1.0,但需要启用相应的插件。

erlang环境配置

RabbitMQ 是使用 Erlang 语言编写的,因此需要先安装 Erlang。RabbitMQ 4.0.2 需要 Erlang 26或更高版本。

安装erlang并配置环境变量

ERLANG_HOME   路径:D:\Program Files\Erlang OTP

双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。

%ERLANG_HOME%\bin

验证erlang是否安装成功
win+R键,输入cmd,再输入erl,看到erlang版本号就说明erlang安装成功了。 

RabbitMQ 

 RabbitMQ最新版本下载:https://www.rabbitmq.com/docs/install-windows#installer

安装RabbitMQ

2.1 双击下载后的.exe文件,安装过程与erlang的安装过程相同。
2.2 安装RabbitMQ-Plugins
打开命令行cd,输入RabbitMQ的sbin目录。

然后输入以下命令进行安装

./rabbitmq-plugins enable rabbitmq_management

验证rabbitmq是否安装成功

输入 以下命令:

rabbitmqctl status

 

从提供的错误信息来看,问题主要集中在 Erlang 分布式通信失败上。具体来说,rabbitmqctl 工具能够连接到 epmd,并且 epmd 报告了正确的端口,但 Erlang 分布式通信未能成功建立。这通常是由于 Erlang Cookie 不匹配或主机名不一致导致的。 

解决办法

停止 RabbitMQ 服务(如果已启动)

检查 Erlang Cookie

确保 rabbitmqctl 工具和 RabbitMQ 服务器使用相同的 Erlang Cookie。

Erlang Cookie 文件通常位于:

Linux: /var/lib/rabbitmq/.erlang.cookie

Windows: %APPDATA%\RabbitMQ\.erlang.cookie

打开这两个文件,确保它们的内容完全相同。如果内容不同,请将它们同步。

比较下面两个文件夹下的.erlang.cookie文件内容,后来修改其中一个文件的内容,使两个文件内容一样。再次执行命令rabbitmqctl status,成功

C:\Windows\System32\config\systemprofile\.erlang.cookie
C:\User\{{电脑用户名}}\.erlang.cookie

再次查看服务状态

rabbitmqctl status

 打开浏览器,地址栏输入mq访问地址,即可看到管理界面的登陆页

http://127.0.0.1:15672 

输入用户名和密码,都为guest 进入主界面:

开启支持stomp协议

RabbitMQ 中启用对 STOMP (Simple Text Oriented Messaging Protocol) 的支持,你需要启用 rabbitmq_stomp 插件。

以下是详细的步骤:

启用 STOMP 插件: 打开命令行,进入 RabbitMQ 的 sbin 目录,然后执行以下命令来启用 STOMP 插件:

rabbitmq-plugins enable rabbitmq_stomp
rabbitmq-plugins enable rabbitmq_web_stomp

配置 STOMP: 你可以通过修改 RabbitMQ 的配置文件来设置 STOMP 连接的相关参数,通常这个文件是 rabbitmq.conf 或 advanced.config。在其中可以设置 STOMP 监听的端口等。

例如,如果你希望 STOMP 监听默认端口61613,可以在 rabbitmq.conf 中添加:

stomp.port = 61613

重启 RabbitMQ: 修改配置后,需要重启 RabbitMQ 服务以使更改生效。可以使用以下命令:

rabbitmqctl stop
rabbitmq-server start

验证 STOMP 是否启用: 可以通过使用 STOMP 客户端连接到 RabbitMQ 服务器来验证。确保可以在端口 61613 上成功连接。

完成以上步骤后,你的 RabbitMQ 应该已经能够支持 STOMP 协议。

可以使用以下命令验证 rabbitmq_stomp 插件是否已成功启用:

./rabbitmq-plugins list

其他资源

Otp 26.2.1 - Erlang/OTP

Release RabbitMQ 4.0.2 · rabbitmq/rabbitmq-server · GitHub

STOMP Over WebSocket

https://www.rabbitmq.com/docs/install-windows#configure

windows环境下安装RabbitMQ(超详细)_windows安装rabbitmq-CSDN博客

相关文章:

RabbitMQ最新版本4.0.2在Windows下的安装及使用

RabbitMQ 是一个开源的消息代理和队列服务器,提供可靠的消息传递和队列服务。它支持多种消息协议,包括 AMQP、STOMP、MQTT 等。本文将详细介绍如何在 Windows 系统上安装和使用最新版本的 RabbitMQ 4.0.2。 前言 RabbitMQ 是用 Erlang 语言开发的 AMQP&…...

东方博宜1180 - 数字出现次数

问题描述 有 50 个数( 0∼19),求这 50个数中相同数字出现的最多次数为几次? 输入 50 个数字。 输出 1 个数字(即相同数字出现的最多次数)。 样例 输入 1 10 2 0 15 8 12 7 0 3 15 0 15 18 16 7 17 16 9 …...

LeetCode: 3274. 检查棋盘方格颜色是否相同

一、题目 给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。   以下是棋盘的参考图。   如果这两个方格颜色相同,返回 true,否则返回 false。   坐标总是表示有效的棋盘方格。坐标的格式总是先…...

datax编译并测试

mvn -U clean package assembly:assembly -Dmaven.test.skiptrue 参看:DataX导数的坑_datax插件初始化错误, 该问题通常是由于datax安装错误引起,请联系您的运维解决-CSDN博客 两边表结构先创建好: (base) [rootlnpg bin]# pwd /db/DataX-datax_v20230…...

2-133 基于matlab的粒子群算法PSO优化BP神经网络

基于matlab的粒子群算法PSO优化BP神经网络,BP神经网络算法采用梯度下降算法,以输出误差平方最小为目标,采用误差反向传播,训练网络节点权值和偏置值,得到训练模型。BP神经网络的结构(层数、每层节点个数)较复杂时&…...

复盘秋招22场面试(四)形势重新评估与后续措施

连续好多天睡不着觉,经常晚上起来好几次,到现在还是没offer。之前有个校友在抖音留言说我能收到这么多面试说明简历没问题,这么多一面挂,说明我技术面有问题。确实有一些是kpi面,但是我复盘之后我发现也没有那么多kpi面…...

揭开C++ STL的神秘面纱之string:提升编程效率的秘密武器

目录 🚀0.前言 🚈1.string 构造函数 🚝1.1string构造函数 🚝1.2string拷贝构造函数 🚈2.string类的使用 🚝2.1.查询元素个数或空间 返回字符串中有效字符的个数:size lenth 返回字符串目…...

用人工智能,应该怎么掏钱?

人工智能(AI)服务的发展正快速改变企业和开发者的工作方式,不仅提供了强大的数据分析和预测能力,还涵盖了从自然语言处理到图像识别的广泛功能。然而,理解AI服务的支付模式对成本控制和合理资源分配至关重要&#xff0…...

【Axure高保真原型】移动案例

今天和大家分享多个常用的移动案例的原型模板,包括轮盘滑动控制元件移动、页面按钮控制元件移动、鼠标单击控制元件移动、元件跟随鼠标移动、鼠标拖动控制元件移动、键盘方向键控制元件移动,具体效果可以点击下方视频观看或打开下方预览地址查看哦 【原…...

Bytebase 3.0.0 - AI 助手全面升级

🚀 新功能 SQL 编辑器里的 AI 助手:支持将自然语言转换成 SQL 语句,解释 SQL 代码,还能帮助发现潜在问题。 支持 SQL Server DML 语句一键回滚。支持 MariaDB 的在线大表变更。新的 SQL 审核规则: 要求为 MySQL 设置 …...

php基础:数据类型、常量、字符串

语法补充: 每句必须以;结尾 echo:能输出一个以上的字符串,英文逗号隔开 print:只能输出一个字符串并返回1 1.数据类型 php可以自动识别数据类型。 php有5种数据类型:String(字符串&#xf…...

Discuz发布原创AI帖子内容生成:起尔 | AI原创帖子内容生成插件开发定制

Discuz发布原创AI帖子内容生成:起尔 | AI原创帖子内容生成插件开发定制 在当今互联网快速发展的时代,内容创作成为了网站运营、社交媒体管理和个人博客维护不可或缺的一部分。然而,高质量内容的创作往往耗时耗力,特别是对于需要频…...

el-table在某些条件下禁止选中

el-table在某些条件下禁止选中 废话不多说直接上代码 HTML部分 <el-table v-loading"loading" :data"wmsShipmentOrderList" ref"multipleTable" select"handleSelect" selection-change"handleSelectionChange">&…...

深入探讨 HTTP 请求方法:GET、POST、PUT、DELETE 的实用指南

文章目录 引言GET 方法POST 方法PUT 方法DELETE 方法小结适用场景与特点总结最佳实践 在 API 设计中的重要性 引言 HTTP 协议的背景&#xff1a;介绍 HTTP&#xff08;超文本传输协议&#xff09;作为互联网的基础协议&#xff0c;自 1991 年发布以来&#xff0c;成为客户端和…...

深度学习:元学习(Meta-Learning)详解

元学习&#xff08;Meta-Learning&#xff09;详解 元学习&#xff0c;也称为“学会学习”&#xff0c;是机器学习中的一个重要子领域&#xff0c;旨在开发能够快速适应新任务或环境的模型&#xff0c;即使这些任务的可用数据非常有限。元学习的核心思想是通过经验学习如何学习…...

uniapp展示本地pdf + 自定义标题

概要 本文主要讲述uniapp打包的Android项目如何展示本地的PDF文件&#xff0c;并设置标题 需求分析 1、因为是打包的Android项目展示本地的PDF文件&#xff0c;首先需要拿到这个本地的PDF文件路径 2、如何在uniapp的vue页面中展示PDF&#xff0c;因为没有直接展示PDF文件的…...

国标GB28181设备管理软件EasyGBS国标GB28181-2016平台更换SQLite数据库的步骤

在当今数字化、智能化的时代&#xff0c;视频监控系统已成为各行各业不可或缺的一部分。国标GB28181设备管理软件EasyGBS&#xff0c;作为一款功能强大的国标视频云服务平台&#xff0c;凭借其广泛的应用场景和卓越的性能&#xff0c;在智慧城市、智慧园区、智慧交通、智慧医疗…...

C++基础与实用技巧第三节:内存管理与性能优化

第二章&#xff1a;C基础与实用技巧 第三节&#xff1a;内存管理与性能优化 1. 动态内存的管理策略与技巧 动态内存管理是C编程的核心部分之一&#xff0c;合理管理内存可以极大提高程序的性能和稳定性。在C中&#xff0c;动态内存的分配和释放通常使用new和delete运算符&am…...

【移动应用开发】界面设计(二)实现水果列表页面

续上一篇博客 【移动应用开发】界面设计&#xff08;一&#xff09;实现登录页面-CSDN博客 目录 一、采用ViewBinding实现一个RecyclerView 1.1 在app/build.gradle中添加recyclerview依赖&#xff0c;并打开viewBinding &#xff08;1&#xff09;在app/build.gradle中添加…...

基于Multisim的四人智力竞赛抢答器设计与仿真

1&#xff09;设计任务 设计一台可供 4 名选手参加比赛的智力竞赛抢答器。 用数字显示抢答倒计时间&#xff0c;由“9”倒计到“0”时&#xff0c;无人抢答&#xff0c;蜂鸣器连续响 1 秒。选手抢答时&#xff0c;数码显示选手组号&#xff0c;同时蜂鸣器响 1 秒&#xff0c;倒…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...