Windows下RabbitMQ完整安装指南

一、RabbitMQ 简介

RabbitMQ 是一款基于 Erlang 语言开发的开源消息队列中间件,实现了高级消息队列协议(AMQP)。其最初起源于金融系统,专为分布式系统中的消息存储与转发设计,在可靠性、扩展性和高可用性方面表现卓越,广泛应用于微服务架构中的服务解耦、流量削峰和异步通信场景。

核心特性

  • 可靠性:通过消息持久化、传输确认、发布确认等机制确保消息不丢失。
  • 灵活路由:基于 Exchange 实现消息路由,支持多种内置路由策略,可通过插件扩展自定义路由。
  • 集群部署:支持多节点组成集群,提升系统吞吐量与可用性。
  • 高可用队列:队列可在集群节点间镜像,避免单点故障导致的服务中断。
  • 多协议支持:兼容 STOMP、MQTT 等多种消息协议。
  • 多语言客户端:提供 Java、.NET、Python 等几乎所有主流编程语言的客户端库。
  • 可视化管理:内置 Web 管理界面,方便监控和配置消息队列。
  • 消息跟踪:支持消息流向追踪,便于排查异常问题。
  • 插件扩展:丰富的插件生态,可按需扩展功能。

二、安装准备

RabbitMQ 基于 Erlang 语言开发,因此需要先安装 Erlang 运行环境,且两者版本需匹配(版本兼容表可参考RabbitMQ 官方文档)。

推荐版本组合

  • Erlang:27.1(64 位)
  • RabbitMQ:4.1.3(64 位)

三、详细安装步骤

1. 安装 Erlang

(1)下载安装包

访问Erlang 官方下载页,选择适合 Windows 系统的 64 位安装包。

(2)执行安装

双击安装包,按向导提示操作:

  • 安装路径建议:D:\dev_soft2\Erlang OTP(路径中不要包含中文、空格或特殊字符)
  • 勾选 "Create a desktop shortcut"(可选),点击 "Install" 完成安装。
(3)配置环境变量

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

在 "系统变量" 中点击 "新建",设置:

变量名:ERLANG_HOME

变量值:Erlang 安装路径(如D:\dev_soft2\Erlang OTP)

编辑系统变量中的Path,点击 "新建",添加:%ERLANG_HOME%\bin

(4)验证安装

按下Win+R,输入cmd打开命令提示符,执行:

erl

若输出类似

说明 Erlang 安装成功。

2. 安装 RabbitMQ

(1)下载安装包

访问RabbitMQ 官方下载页,下载 Windows 安装包。

(2)执行安装

双击安装包,按向导提示操作:

  • 安装路径建议:D:\dev_soft2\RabbitMQ Server\rabbitmq_server-4.1.3(避免中文路径)
  • 安装完成后,RabbitMQ 会自动注册为 Windows 服务并启动。
(3)配置环境变量

1.在 "系统变量" 中点击 "新建",设置:

变量名:RABBITMQ_HOME

变量值:RabbitMQ 安装路径(如D:\dev_soft2\RabbitMQ Server\rabbitmq_server-4.1.3)

2.编辑系统变量中的Path,点击 "新建",添加:%RABBITMQ_HOME%\sbin

3. 启用管理插件

RabbitMQ 的管理界面通过插件形式提供,需手动启用:

按下Win+R,输入cmd,右键 "以管理员身份运行" 命令提示符。

执行以下命令启用管理插件:

rabbitmq-plugins enable rabbitmq_management

看到类似的输出,

说明插件启用成功。

4. 验证 RabbitMQ 安装

在命令提示符中执行以下命令检查服务状态:

rabbitmqctl status

若输出大量节点信息(包含Status of node rabbit@xxx),说明服务运行正常。

启动浏览器,访问管理界面:

地址:http://127.0.0.1:15672

    初始账号:guest

    初始密码:guest(仅允许本地访问时使用)

    成功登录后,即可看到 RabbitMQ 的管理控制台,显示当前队列、交换机、连接等信息。

    四、RabbitMQ 服务管理命令

    命令

    功能

    rabbitmq-service start

    启动服务

    rabbitmq-service stop

    停止服务

    rabbitmq-service restart

    重启服务

    rabbitmqctl list_queues

    查看所有队列

    rabbitmqctl list_exchanges

    查看所有交换机

    rabbitmqctl list_users

    查看所有用户

    五、总结

    本文详细介绍了 Windows 环境下 RabbitMQ 的安装步骤,包括 Erlang 环境配置、RabbitMQ 安装、管理插件启用及常见问题解决。按照此教程操作,可快速搭建 RabbitMQ 服务,为分布式系统开发提供可靠的消息队列支持。

    若在安装过程中遇到其他问题,可参考RabbitMQ 官方文档或留言讨论。

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

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

    相关文章

    thingsboard 通过Entities hierarchy部件实现左边菜单点击,右边的表格按左边的分类型进行过滤筛选数据源

    在 ThingsBoard 中,要让“Entities hierarchy”部件(左侧树形导航)与右侧的数据表格实现联动——即点击左侧某个节点后,右侧表格立刻按该节点对应的实体类型/层级进行过滤——需要把“数据源别名(Alias) 仪…

    【Ansible】核心概念解析:架构、清单管理与配置入门

    本专栏文章持续更新,新增内容使用蓝色表示。对于系统管理员而言,手动管理每一台服务器不仅维护难度极大,而且即使经验丰富,也难免出现疏忽和错误。自动化技术能有效避免因手动管理系统和基础架构而产生的各类问题。其优点包括&…

    rs-fMRI_两篇文章中分析方法的梳理(近乎翻译)

    文章一文章信息APOE ε4 influences within and between network functional connectivity in posterior cortical atrophy and logopenic progressive aphasia2024美国梅奥诊所发表在Alzheimers Dement. 的文章。“APOE ε4等位基因对后皮质萎缩与进行性语言障碍型失语症的网络…

    在互联网大厂的Java面试:谢飞机的搞笑历险记

    在互联网大厂的Java面试:谢飞机的搞笑历险记 在一个阳光明媚的早上,我们的主角,程序员谢飞机,走进了一家著名的互联网大厂,准备迎接他人生中最严峻的挑战——Java面试。 第一轮:基础技术面试 面试官&#x…

    微软AD国产化替换倒计时——不是选择题,而是生存题

    一直以来,微软Active Directory(AD)作为企业身份管理和访问控制的核心组件,承担着用户认证、权限分配、资源目录管理等基础职能。然而,随着政策、合规与网络安全压力不断加剧,AD面临着前所未有的挑战&#…

    MyBatis-Plus MetaObjectHandler的几个坑(主要是id字段)

    1.背景 主要是要实现一个id字段的自增长,不依赖数据库的能力(已避免后续换库的问题)。姑且使用redis作为表的id分配器,因此使用MyBatis-Plus MetaObjectHandler对每个insert的id进行分配。 2.实施过程 以下是实现过程 1.实现MetaO…

    Springboot 项目配置多数据源

    Springboot 项目配置多数据源 基础环境 java8、springboot2.2.13、mybatis、mysql5.x、oracle 项目配置 1.application.yml spring:datasource:mysql1:username: abcpassword: 123456url: jdbc:mysql://127.0.0.1:3306/panda?useUnicodetrue&characterEncodingUTF-8&z…

    STM32_0001 KEILMDK V5.36 编译一个STM32F103C8T6说core_cm3.h文件找不到以及编译器版本不匹配的解决办法

    KEILMDK V5.36 编译一个STM32F103C8T6说core_cm3.h文件找不到的解决办法利用KEILMDK V5.36 编译一个STM32F103C8T6说core_cm3.h文件找不到。主要错误信息如下D:/stm32studio/Armmdk/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include\stm32f10x.h(486): error: core_cm3.h file n…

    基于Transformer的机器翻译——训练篇

    前言 还在为机器翻译模型从理论到落地卡壳?系列博客第三弹——模型训练篇强势登场,手把手带你走完Transformer中日翻译项目的最后关键一步! 前两期我们搞定了数据预处理(分词、词表构建全流程)和模型搭建&#xff08…

    智能编程中的智能体与 AI 应用:概念、架构与实践场景

    一、智能体(Intelligent Agent)在编程中的定义与架构1. 智能体的核心概念 智能体是指在特定环境中能够自主感知、决策并执行动作的软件实体,具备以下特征:自主性:无需人工干预即可根据环境变化调整行为。交互性&#x…

    数组实现各类数据结构

    目录 一、数组实现单链表 二、数组实现双链表 三、数组实现栈 四、数组模拟队列 五、数组模拟单调栈 六、数组模拟单调队列&#xff08;滑动窗口&#xff09; 七、数组模拟堆 一、数组实现单链表 #include<iostream> #include<algorithm> #include<cstr…

    数据处理与统计分析 —— apply自定义函数

    目录 一、向量化与伪向量化 1、向量化 2、np.vectorize 伪向量化&#xff08;特定场景&#xff09; 3、apply&#xff08;自定义函数&#xff09; 二、apply函数 1、对series中使用apply 2、对dataframe中使用apply 3、apply函数案例-泰坦尼克号数据集] 数据集下载链接&#xf…

    如何有效利用大语言模型来智能加速产业联盟的产业链转化路径?

    观点作者&#xff1a;科易网AI技术转移研究院在科技创新浪潮席卷全球的今天&#xff0c;科技成果转化已成为衡量一个国家创新能力的重要标志。然而&#xff0c;一项权威调查显示&#xff0c;我国科技成果转化率不足30%&#xff0c;大量有价值的创新成果仍停留在实验室阶段&…

    视频加水印 视频加水印软件 视频加动态水印

    如果你有一个视频&#xff0c;你想给他加一个水印&#xff0c;那么你可以使用这个工具&#xff0c;准备好你的视频和水印。水印一般采用PNG&#xff0c;打开这个工具&#xff0c;把你的视频和水印拖进这个方框当中。视频限制是MP4&#xff0c;水印限制是PNG&#xff0c;它可以把…

    面向DeepSeek chat coding实录(二)

    向DeepSeek的提问 帮我设计以下两个python class Span 属性&#xff1a; hash值&#xff08;在init函数中通过时间初始化&#xff09; 创建时间&#xff1a;时间&#xff08;在init函数中通过时间初始化&#xff09; 结束时间&#xff1a;时间&#xff08;可选&#xff0c;默认…

    Hi3516CV610-00S 海思SOC芯片 可申请开发资料

    1.1 概述Hi3516CV610 是一颗应用在安防市场的 IPC SoC。在开放操作系统、新一代视频编解码标准、网络安全和隐私保护、人工智能方面引领行业发展&#xff0c;主要面向室内外场景下的枪机、球机、半球机、海螺机、枪球一体机、双目长短焦机等产品形态&#xff0c;打造极具竞争力…

    算法题Day4

    目录 13. 练习13 : 整数十位 14. 练习14 : 时间转换 15. 练习15 : 小雨的游泳时间 13. 练习13 : 整数十位 解题方法: #include <iostream> using namespace std; int a; int main() {cin >> a;cout << a % 100 / 10 << endl;return 0; } 14. 练习…

    加速你的故障排查:使用 Elasticsearch 构建家电手册的 RAG 应用

    作者&#xff1a;来自 Elastic Alessandro Brofferio 学习如何使用 Elasticsearch 构建 RAG 应用&#xff0c;轻松排查你的家电问题。 想要获得 Elastic 认证吗&#xff1f;来看看下一次 Elasticsearch 工程师培训什么时候开始吧&#xff01; Elasticsearch 拥有大量新功能&am…

    6.Shell脚本修炼手册---grep命令使用指南

    grep 命令&#xff1a;从文本中精准筛选信息的实用指南 文章目录grep 命令&#xff1a;从文本中精准筛选信息的实用指南一、什么是 grep&#xff1f;为什么要用它&#xff1f;二、grep 基本语法三、常用选项详解&#xff08;附实例&#xff09;&#xff08;一&#xff09;模式选…

    Python day51

    浙大疏锦行 Python day51 复习日&#xff0c;DDPM class DenoiseDiffusion():def __init__(self, eps_model: nn.Module, n_steps: int, device: torch.device):super().__init__()self.eps_model eps_modelself.n_steps n_stepsself.device deviceself.beta torch.linsp…