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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/453455.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】【命令】diff

diff DescriptionsArgumentsExamples直接使用diff命令-u 输出格式-c 输出格式并列输出-s 和 -q 脚本示例示例1:目录及文件差异 Descriptions diff命令用于对比两个文件或者两个文件夹的不同之处,求基本语法如下所示: diff [OPTION]... FILES…

信号与噪声分析——第一节-确定信号的分析

目录 1.确定信号的分析 1.1确定信号的分类: 1.周期信号与非周期信号: 周期信号的定义: 性质: 2.能量信号与功率信号: 定义 区别: 3.基带信号与频带信号: 基带信号的定义: …

使用Matplotlib绘制箱线图:详细指南与示例

在数据分析和可视化领域,箱线图(Box Plot)是一种强大的工具,用于展示数据的分布特征,包括中位数、四分位数、异常值等。本文将详细介绍如何使用Matplotlib库在Python中绘制箱线图,并通过一个实际的血压数据…

基于微信小程序二手物品调剂系统设计与实现

文章目录 前言项目介绍技术介绍功能介绍核心代码数据库参考 系统效果图文章目录 前言 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 项目介绍 二手物品调剂系统是一种在线平台,旨在促进用户之间的二手物品交易。该系统提供了一个…

数智合同 | 业财一体与履约联动的数字化转型

随着信息化技术的发展,合同数智化管理为应对合同管理挑战提供了新机遇。企业需要深入思考数智化手段在合同管理中的应用,以提高合同管理水平,应对新形势下的市场竞争挑战与合规要求,实现企业的高质量发展。 2024年5月,…

数据中心母线槽测温监控装置的优势和如何选型

在当今数字化高速发展的时代,数据中心成为了信息存储与处理的核心枢纽。而确保数据中心的稳定运行,对于企业和社会来说至关重要。其中,母线作为数据中心电力传输的关键环节,其正常运行直接关系到整个数据中心的可靠性。为了保障数…

2024新手攻略:项目管理工具+PMP备考经验不容错过!

(一)热门工具大盘点 禅道是一款专注于软件开发项目管理的工具。它涵盖了项目管理的各个环节,包括需求管理、任务分配、缺陷跟踪等。禅道的优势在于其对软件开发流程的深入理解和支持,能够帮助开发团队更好地管理项目进度和质量。…

免费的国标设备端模拟器,支持自定义编程,批量模拟大量国标GB28181设备

GB/T 28181是中国国家公共安全视频监控联网系统(简称“国标GB28181”)的一套标准,主要用于规范视频监控系统的互联互通。这套标准的实施旨在推动不同厂家设备之间的互操作性,促进视频监控市场的健康发展。本软件是针对GB28181标准…

算法01----移动零(C++)

题目展示 算法原理 我们这里要用到的算法是双指针移动,和我们之前学的快排的核心思想是一样的。我们看看怎么做吧。我会以图片的形式将我的思路告知大家。 这就是整个题目的整体思想算法,大家理解一下,其实这道题目还是很简单的。 代码编写…

02篇 机械考研复试简历保姆级教程,考研简历联系导师邮件复试调剂超全攻略 导师喜欢看到的简历(附模板)

考研复试简历怎么写?导师喜欢看到的简历(附模板) 复试简历,重要程度max!绝非小事一桩!它就像是你硬核经历的闪亮外衣,条理清晰、逻辑严谨且设计感十足,一定能在导师心中留下深刻印象…

基于neo4j知识图谱的菜谱推荐系统

🍴 AI菜谱推荐系统让你“煮”事半功倍! 🍴 找不到做饭灵感的时候,是不是总觉得“今天吃啥”这道选择题简直是终极挑战?别急,我们基于Neo4j知识图谱的菜谱推荐系统,正是为了解决你的困扰而设计&a…

空洞卷积:Atrous/Dilated convolution - 语义分割中多用到

没办法,我还是很多基础的、底层的模块不通透,读论文难免会受到阻碍,而且这现在科研任务很急了,必须要马上动手实验,全给我弄明白、特别是算法! 空洞卷积-可变形卷积-这一个个我都要。 空洞卷积据说在语义分…

【完-网络安全】Windows防火墙及出入站规则

文章目录 防火墙入站和出站的区别域网络、专用网络、公用网络的区别 防火墙 防火墙默认状态一般是出站允许,入站阻止。 入站和出站的区别 入站就是别人来访问我们的主机,也就是正向shell的操作 出站就是反向shell,主机需要主动连接kali&am…

智能指针(3)

目录 可能问题五: 问题分析: 答案格式: shared_ptr的模拟实现 部分1:引用计数的设计(分考点1) 代码实现: 部分2:作为类所必须的部分(分考点2) 代码实现: 部分3:拷贝构造函数…

WPF实现类似网易云音乐的菜单切换

这里是借助三方UI框架实现了,感兴趣的小伙伴可以看一下。 深色模式:​ 浅色模式: ​这里主要使用了以下三个包: MahApps.Metro:UI库,提供菜单导航和其它控件​​​​​​​ 实现步骤:1、使用B…

【JavaEE】——自定义协议方案、UDP协议

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:自定义协议 1:自定义协议 (1)交互哪些信息 &…

RuoYi-Vue若依 环境搭建 速成

一、若依简介 RuoYi-Vue 是一个开源的后台管理系统,适用于快速开发企业级应用。该平台由两部分组成:前端和后端。 (1)技术框架 前端技术: Vue.js: 前端框架使用 Vue.js,这是一种流行的JavaScript框架&a…

Python爬虫实战:抓取指定网站数据

一、前言 在互联网时代,数据的价值日益凸显。爬虫技术作为一种获取数据的重要手段,广泛应用于各种场景。本文将通过一个实例,介绍如何使用Python进行网站数据的抓取。 二、环境准备 Python 3.xrequests库BeautifulSoup库 三、代码实现 i…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第五篇-着色器投影-投射阴影部分】

投射阴影 最初打算将投影内容放在上一篇中,因为实现非常快速简单,没必要单独成篇。不过因为这里面涉及一些问题,我觉得还是单独作为一篇讲一下比较好。 原理 这里要用到的是 Shadow Pass Switch ,它可以为非不透明的材质替换阴影 某些版本…

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法)

Python3 接口自动化测试,HTTPS下载文件(GET方法和POST方法) requests-pkcs12 PyPI python中如何使用requests模块下载文件并获取进度提示 1、GET方法 1.1、调用 # 下载客户端(GET)def download_client_get(self, header_all):try:url = self.host + "/xxx/v1/xxx-mod…