Windows安装RabbitMQ详细教程

news2025/7/19 6:59:34

一、RabbitMQ是什么?

  RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。 ​ RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

具体特点包括:

1.可靠性(Reliability) ​ RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。

2.灵活的路由(Flexible Routing) ​ 在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。

3.消息集群(Clustering) ​ 多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker

4.高可用(Highly Available Queues) ​ 队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。

5.多种协议(Multi-protocol) ​ RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。

6.多语言客户端(Many Clients) ​ RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。

7.管理界面(Management UI) ​ RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。

8.跟踪机制(Tracing) ​ 如果消息异常,RabbitMQ 提供了消息跟踪机制,使用者可以找出发生了什么。

9.插件机制(Plugin System) ​ RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

二、安装步骤

1.安装准备工作

这里通过官网下载需要的版本:RabbitMQ官方网址

进入官网点击get started,找到 Download + Installation 下载+安装,点击进入。

在新页面找到右侧,Install Windows 安装windows版本

然后页面下拉,找到 Dependencies 依赖关系

选择otp_win64_24.1.7.exe 我的系统是64位的,所以下载win64

这里笔者强调一下。我安装的是最新版本。如果你们觉得最新版可能存在未知bug或不兼容问题,可以选择自己想要下载的对应版本即可。

2.开始安装

第一步:找到我们下载的软件位置。

第二步:先安装otp_win64_24.1.7.exe

第三步:鼠标右键以管理员方式运行

第四步:接着选取要安装的路径,然后一路傻瓜式安装 next 下一步,安装即可。

【注意】不要安装在中文或带空格的文件路径下

第五步:配置系统环境变量

右键此电脑 - 属性 - 高级系统设置 - 环境变量

接着打开 - 此电脑(文件资源管理器) 找到刚刚我们安装的 erl - 24.1.7 文件 bin 目录下,复制路径 ctrl+c

切换窗口到环境变量,找到系统变量 path - 编辑

新建 - ctrl + v 粘贴刚才我们复制的路径,然后三次确定,关闭环境变量窗口

第六步:安装 RabbitMQ

右键管理员运行,然后选择安装路径,接着一路 next 下一步,遇到弹窗点允许,没有弹窗则无视。

【注意】不要安装在中文或带空格的文件路径下

第七步:安装完成后找到安装文件路径,找到 sbin 目录下,全选路径 输入 cmd

打开cmd命令窗口。运行下面命令,回车运行。

rabbitmq-plugins enable rabbitmq_management

第八步:打开任务资源管理器。win11 快捷键 Ctrl+Shift+Esc,找到rabbitmq服务右键重新启动。

3.结束安装

打开浏览器。访问 http://127.0.0.1:15672

出现管理页面:

账号:guest

密码:guest

登录成功后。进入下面页面即代表安装成功。至此大功告成。是不是很简单!

注意事项

  1. erlang的版本必须与rabbit相匹配,如果不匹配,会各种不知名错误

  1. 安装RabbitMQ和Erlang的目录一定不能有空格和中文字符。

  1. 如果启动之后还是无法打开管理页面按照以下操作试试:

①切换至RebbitMQ安装目录下的sbin

②执行rabbitmq-service.bat remove命令

③环境变量配置添加RabbitMQ_BASE=自己电脑安装RabbitMQ下data全路径,比如我的路径是:D:\Rabbitmq3.8.19\data

④执行rabbitmq-service.bat install

⑤执行rabbitmq-plugins enable rabbitmq_management

⑥重启rabbit服务

  1. 要从计算机中完全卸载RabbitMQ和Erlang,请执行以下操作:

①停掉rabbit服务

②打开Windows控制面板,双击“程序和功能”。

③在当前安装的程序列表中,右键单击RabbitMQ Server,然后单击“卸载”。

④在当前安装的程序列表中,右键单击“Erlang OTP”,然后单击“卸载”。

⑤打开Windows任务管理器。

⑥在任务管理器中,查找进程epmd.exe。 如果此进程仍在运行,请右键单击该进程,然后单击“结束进程”。

⑦删除RabbitMQ和Erlang的所有安装目录。

⑧删除文件C:\ Windows \ .erlang.cookie(如果存在)。

⑨转到用户文件夹:C:\ Users \ [username],然后删除文件.erlang.cookie。删除

⑩同样在User文件夹中,转到AppData \ Roaming \ RabbitMQ。删除RabbitMQ文件夹。

(11)打开运行cmd->sc delete RabbitMQ。

(12)打开运行->regedit 找到RabbitMQ节点,删掉即可。

  1. 如果要使用rabbit的延时队列,还需要另外下载rabbit的延时队列插件

①下载插件

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

②复制插件至rabbitmq安装目录下的plugins目录

启用插件,切换至sbin目录下,执行以下命令

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

重启服务,然后去管理端新增交换机时可以看到这个类型说明启用成功

  1. 如果启动项目报错(Broker not available; cannot force queue declarations during start: java.io.IOException):这是端口不对,检查自己项目中端口是否正确:15672是web管理端的端口号,项目中应该使用5672

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FJWC2019 Day2 题解

T1 - 直径 思路 就类似下图的链接方法。 这其中每一条边权都是 111。 我们设以 222 为根的子树除去 222 有 aaa 个节点,以 333 为根的子树除去 333 有 bbb 个节点,以 444 为根的子树除去 444 有 ccc 个节点。 此时直径的数量就为 a⋅ba⋅cb⋅ca\cdot…

Day910.中台是什么 -SpringBoot与K8s云原生微服务实践

中台是什么 Hi,我是阿昌,今天学习记录的是关于中台是什么的内容。 近几年针对软件开发领域,中台,这词相信大家都不会陌生。 中台(Technology Middle Platform)是一种基于技术架构和业务架构的中间层&…

制造业数字化转型难在哪儿?

工作岗位的原因,接触过很多制造业的CIO,也组建过几个制造业CIO的社群,当然也或参与或旁观过不少制造企业数字化转型的案例。 但这篇我不列举案例,分享一些经验和事实! 为啥?我接下来说的话可能有点残酷&a…

目标跟踪中的卡尔曼滤波和匈牙利算法解读。

先解读Sort算法:Simple online and realtime tracking 论文地址 https://arxiv.org/abs/1602.00763 代码地址 https://github.com/abewley/sort https://github.com/YunYang1994/openwork/tree/master/sort SORT 流程简介: 整个流程如下图所示&#xf…

网络是怎么连接笔记(二)用电信号传输TCP/IP数据

文章目录介绍创建套接字连接服务器收发数据从服务器断开并删除套接字IP与以太网的包收发操作(待更新)UDP协议的收发操作(待更新)介绍 在了解了HTTP请求是如何产生的,以及网址是如何跳转到我们想要看到的页面&#xff…

普元ESO 逻辑流/页面流数据类型选择java--浏览转圈卡死

不知道什么时候开始的 前阵子在选择数据类型需要选择一个普元基本类型里没有的java类型的时候 它卡住了,虽然我对lj普元的容忍度较高,但是在等了五分钟以后还在那转我就忍不了了 在经历了重启eos 重启电脑 关闭所有软件运行eos后,最后忘了咋折腾的反正是整上这个类型了当时确…

Unity使用NatML的NatDevice功能调用外部摄像机

Unity使用NatML的NatDevice功能调用外部摄像机NatCamNatDevice广泛和轻量级在Unity中使用NatDevice导入NatDevice指定访问密钥运行摄像头预览示例测试结果NatCam 最开始在Unity中使用WebCamTexture获取外部摄像机的画面。后来发现WebCamTexture的功能过于简单,外部…

拥塞管理与拥塞避免

拥塞管理与拥塞避免背景来源产生情景队列技术FIFO:First In First OutRR:Round RobinWRR:Weight Round RobinPQ(Priority Queuing)CQ(Custom Queuing)WFQ(Weight Fair Queuing&#…

入托不焦虑 | 如何帮宝宝更好地融入托班?

上托班是教育重要的一环,是宝宝开始适应集体过程的起点,宝爸宝妈也是忧喜交加:高兴的是宝宝慢慢长大开始上学了;忧虑的是从没有离开家的宝宝会不会适应托班生活呢? 今天我们就来分享一下如何引导宝宝更快地适应园区生…

【Unity】程序集Assembly模块化开发

笔者按:使用Unity版本为2021.3LTS,与其他版本或有异同。请仅做参考 一、简述。 本文是笔者在学习使用Unity引擎的过程中,产学研的一个笔记。由笔者根据官方文档Unity User Manual 2021.3 (LTS)/脚本/Unity 架构/脚本编译/程序集定义相关部分结…

【Spring6】IoC容器之基于注解管理Bean

3.3、基于注解管理Bean(☆) 从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。开发人员可以通过…

Java基本数据类型变量自动提升、强制类型转换、String基本类型使用

文章目录基本数据类型变量自动提升特殊情况强制类型转换String基本类型使用基本数据类型变量自动提升 规则: 将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型 。 byte、short、char-->int-->…

HCIP---回顾HCIA

HCIA回顾: 抽象语言---编码 编码---二进制 二进制---电信号 处理电信号 OSI参考模型----OSI/RM (Open System Interconnect-----开放式系统互连) 应用层:为终端用户提供网络服务接口 表示层:提供数据格式转换服务 会话层&#xff1a…

基于深度学习的鸟类检测识别系统(含UI界面,Python代码)

摘要:鸟类识别是深度学习和机器视觉领域的一个热门应用,本文详细介绍基于YOLOv5的鸟类检测识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面。在界面中可以选择各种鸟类图片、视频以及开启摄像头进行检测识别…

基于同步整流技术的Buck开关电源设计方法

基于同步整流技术的Buck开关电源设计方法 典型的Buck电路 同步整流的Buck电路 摘要 B u c k 变换器作为一种基本的开关电源变换器,在电力变换场合具有广泛的应用。 为解决 B u c k 变换器工作在电感电流连续状态下,续流二极管关断时存在较大的反向电流…

重资产模式和物流网络将推动京东第四季度利润率增长

来源:猛兽财经 作者:猛兽财经 强劲的2022年第三季度财务业绩 2022年11月18日,京东(JD)公布了2022年第三季度财务业绩,净收入为2435亿元人民币,增长了11.4%。净服务收入为465亿元人民币&#xf…

【C++知识点】异常处理

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

深度学习知识点全面总结_深度学习总结

深度学习知识点全面总结_深度学习总结 神经网络与深度学习结构(图片选自《神经网络与深度学习》一邱锡鹏) 目录 常见的分类算法 一、深度学习概念 1.深度学习定义 2.深度学习应用 3.深度学习主要术语 二、神经网络基础 1. 神经网络组成 感知机 多层感知机 3.前向传播…

【JS代码优化二】ES6 数组和对象篇

Vue3 Vite VueRouter Pinia Axios Element Plus 项目实战(持续更新中…) 序:如何让代码看起来更优雅?代码是由文字堆叠起来的可以被机器执行的程序。它记载着相关信息(状态)、表达相关的情绪&#xf…

vue中引入路径用法及说明

引入路径的用法及说明Vue文件中引用路径的介绍1、路径 ././当前文件同级目录2、路径 …/…/当前文件上一级目录3、符号 的作用是在你引入模块时,可以使用 代替 /src 目录,避免易错的相对路径。Vue中使用1. vue.config.js配置文件中使用chainWebpack(con…