目录
1.前言
插播一条消息~
2.正文
2.1介绍RabbitMQ
2.2正式安装
2.2.1安装Erlang
2.2.2安装RabbitMQ
2.2.3安装RabbitMQ管理界面
2.2.4启动服务并访问
2.2.4.1启动服务
2.2.4.2通过IP:port访问界面
2.2.4.3添加管理员用户并登录
3.小结
在分布式系统架构中,消息队列作为实现异步通信、服务解耦与流量削峰的关键组件,其选型直接影响系统的可靠性与扩展性。RabbitMQ 作为一款开源消息代理软件,凭借其轻量级架构、高可用性设计及灵活的路由策略,已成为解决分布式场景下通信难题的优选方案。它能够有效隔离服务依赖,通过异步处理机制提升系统吞吐量,尤其在微服务架构中展现出显著优势。
核心价值亮点
多协议支持:原生兼容 AMQP 0-9-1、STOMP 等主流消息协议,可无缝对接多样化客户端环境 场景适应性:广泛应用于电商订单异步处理(如支付结果通知、库存扣减)、分布式日志收集(多节点日志聚合)、实时数据管道等关键业务场景
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
🔍十年经验淬炼 · 系统化AI学习平台推荐
系统化学习AI平台!https://www.captainbed.cn/scy/
📚 完整知识体系: 从数学基础 → 工业级项目(人脸识别/自动驾驶/GANs),内容由浅入深 💻 实战为王: 每小节配套可运行代码案例(提供完整源码) 🎯 零基础友好: 用生活案例讲解算法,无需担心数学/编程基础
🚀 特别适合
想系统补强AI知识的开发者 转型人工智能领域的从业者 需要项目经验的学生
RabbitMQ是一款基于高级消息队列协议(AMQP)的开源消息代理软件,也常被称为面向消息的中间件,其核心功能是作为应用程序间的通信中介,实现分布式系统中可靠且高效的异步消息传递.作为部署最广泛的开源消息代理之一,RabbitMQ支持多种消息协议(如AMQP、MQTT、STOMP等),提供灵活的队列路由、交付确认机制和多种交换类型,能够满足分布式系统的异步处理、负载均衡与组件集成需求。其服务器端基于Erlang编程语言开发,依托Open Telecom Platform框架实现集群和故障转移能力,可部署于分布式环境及云平台,并为所有主要编程语言提供客户端库支持。
核心概念解析
RabbitMQ的消息传递模型基于以下关键组件构建,各组件协同实现消息的可靠路由与处理:
核心特性总结:RabbitMQ凭借跨平台兼容性、多协议支持(AMQP/MQTT/STOMP)、分布式部署能力及丰富的消息模式(点对点、发布/订阅、请求/回复等),成为构建高可用、可扩展分布式系统的关键中间件。其基于Erlang的架构天然支持高并发与故障转移,适用于从电子商务交易处理到社交媒体数据流等多样化场景。
RabbitMQ作为基于Erlang语言开发的消息队列系统,所以说需要提前安装erlang。以下是详细的安装流程:
版本兼容性要求
不同版本的RabbitMQ对Erlang存在严格的版本依赖,版本不匹配将导致服务启动失败。根据官方规范:
安装前需确认目标RabbitMQ版本对应的Erlang版本范围,建议选择官方推荐的最新兼容版本以获得最佳稳定性。
更新软件包:
sudo apt-get update
安装erlang:
sudo apt-get install erlang
查看erlang版本:
erl
退出命令:
halt().
在已完成Erlang环境配置的基础上,开始安装RabbitMQ。
更新软件包:
sudo apt-get update
安装rabbitMQ:
sudo apt-get install rabbitmq-server
确认安装结果:
systemctl status rabbitmq-server
默认安装是不安装管理界面的,RabbitMQ管理界面是其核心扩展功能,通过插件机制提供Web-based管理UI,可实现队列监控、用户管理、策略配置等关键运维操作。具体操作如下:
rabbitmq-plugins enable rabbitmq_management
RabbitMQ 服务在 Ubuntu 24.04 系统中通过 systemd 系统服务管理器进行管理,需通过专用命令完成启动、开机自启配置及运行状态验证。以下为关键操作流程及说明:
sudo service rabbitmq-server start
该操作会加载 RabbitMQ 核心组件及默认配置,适用于首次安装后或服务停止后的手动激活场.
为避免服务器重启后需手动启动服务,需配置开机自启,通过以下命令将服务注册至系统启动项:
sudo systemctl enable rabbitmq-server
此配置会在系统初始化阶段自动加载 RabbitMQ 服务,确保服务持久性可用。部分安装源指出,RabbitMQ 可能默认已配置开机自启,建议执行该命令进行显式确认。
在浏览器中输入以下 URL 并提供相应的用户名和密码:
http://your_server_ip:15672/
默认用户名和密码都是guest。用云服务器配置需要注意,要去云服务器的控制台,找到安全组 在里面开放对应的端口。
生产环境安全警示:绝对禁止将授权对象设置为 0.0.0.0/0
(开放所有 IP 访问)。应通过 IP 白名单 限制仅允许管理员或应用服务器的 IP 段访问,例如企业内网 IP 段(如 10.0.0.0/8)或特定办公网络 IP,以降低未授权访问风险。
RabbitMQ 默认创建的 guest
用户存在登录限制,仅允许通过本地(localhost
)访问,无法满足远程管理需求。为实现安全的远程访问,需创建自定义管理员用户并配置完整权限,具体步骤如下:
创建管理员用户
使用 rabbitmqctl add_user
命令创建用户,语法为 rabbitmqctl add_user <用户名> <密码>
。以创建用户名为 admin
、密码为 admin
的管理员为例:
rabbitmqctl add_user admin admin
给用户添加权限
通过 set_user_tags
命令为用户分配 administrator
角色,赋予其最高管理权限:
rabbitmqctl set_user_tags admin administrator
该操作确保用户具备管理 RabbitMQ 集群、虚拟主机、用户及权限的全部功能。
RabbitMQ 中的六种主要角色及其功能
1.guest:
2.user:
3.administrator:
4.monitor:
5.manager:
6.developer:
通过admin访问
随后通过浏览器访问 RabbitMQ 管理界面(默认地址 http://服务器IP:15672
),使用创建的 admin
用户及密码登录,验证节点状态、连接数及队列指标是否正常。
今天的分享到这里就结束了,喜欢的小伙伴点点赞点点关注,你的支持就是对我最大的鼓励,大家加油!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。