java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > RabbitMQ 安装与配置

Ubuntu环境下的 RabbitMQ 安装与配置详细指南

作者:爱吃烤鸡翅的酸菜鱼

本文详解Ubuntu下RabbitMQ安装与配置,涵盖Erlang依赖安装、服务部署、管理界面启用及安全用户权限设置,强调多协议支持、高可用性设计和分布式场景适配,助力构建稳定可靠的消息队列系统,感兴趣的朋友跟随小编一起看看吧

1.前言

在分布式系统架构中,消息队列作为实现异步通信、服务解耦与流量削峰的关键组件,其选型直接影响系统的可靠性与扩展性。RabbitMQ 作为一款开源消息代理软件,凭借其轻量级架构、高可用性设计及灵活的路由策略,已成为解决分布式场景下通信难题的优选方案。它能够有效隔离服务依赖,通过异步处理机制提升系统吞吐量,尤其在微服务架构中展现出显著优势。

核心价值亮点

本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。

2.正文

2.1介绍RabbitMQ

RabbitMQ是一款基于高级消息队列协议(AMQP)的开源消息代理软件,也常被称为面向消息的中间件,其核心功能是作为应用程序间的通信中介,实现分布式系统中可靠且高效的异步消息传递.作为部署最广泛的开源消息代理之一,RabbitMQ支持多种消息协议(如AMQP、MQTT、STOMP等),提供灵活的队列路由、交付确认机制和多种交换类型,能够满足分布式系统的异步处理、负载均衡与组件集成需求。其服务器端基于Erlang编程语言开发,依托Open Telecom Platform框架实现集群和故障转移能力,可部署于分布式环境及云平台,并为所有主要编程语言提供客户端库支持。

核心概念解析

RabbitMQ的消息传递模型基于以下关键组件构建,各组件协同实现消息的可靠路由与处理:

核心特性总结:RabbitMQ凭借跨平台兼容性、多协议支持(AMQP/MQTT/STOMP)、分布式部署能力及丰富的消息模式(点对点、发布/订阅、请求/回复等),成为构建高可用、可扩展分布式系统的关键中间件。其基于Erlang的架构天然支持高并发与故障转移,适用于从电子商务交易处理到社交媒体数据流等多样化场景。

2.2正式安装

2.2.1安装Erlang

RabbitMQ作为基于Erlang语言开发的消息队列系统,所以说需要提前安装erlang。以下是详细的安装流程:

版本兼容性要求

不同版本的RabbitMQ对Erlang存在严格的版本依赖,版本不匹配将导致服务启动失败。根据官方规范:

安装前需确认目标RabbitMQ版本对应的Erlang版本范围,建议选择官方推荐的最新兼容版本以获得最佳稳定性。

更新软件包:

sudo apt-get update

安装erlang:

sudo apt-get install erlang

查看erlang版本:

erl

退出命令:

halt().

2.2.2安装RabbitMQ

在已完成Erlang环境配置的基础上,开始安装RabbitMQ。

更新软件包:

sudo apt-get update

安装rabbitMQ:

sudo apt-get install rabbitmq-server

确认安装结果:

systemctl status rabbitmq-server

2.2.3安装RabbitMQ管理界面

默认安装是不安装管理界面的,RabbitMQ管理界面是其核心扩展功能,通过插件机制提供Web-based管理UI,可实现队列监控、用户管理、策略配置等关键运维操作。具体操作如下:

rabbitmq-plugins enable rabbitmq_management

2.2.4启动服务并访问

2.2.4.1启动服务

RabbitMQ 服务在 Ubuntu 24.04 系统中通过 systemd 系统服务管理器进行管理,需通过专用命令完成启动、开机自启配置及运行状态验证。以下为关键操作流程及说明:

sudo service rabbitmq-server start

该操作会加载 RabbitMQ 核心组件及默认配置,适用于首次安装后或服务停止后的手动激活场景1

为避免服务器重启后需手动启动服务,需配置开机自启,通过以下命令将服务注册至系统启动项:

sudo systemctl enable rabbitmq-server

此配置会在系统初始化阶段自动加载 RabbitMQ 服务,确保服务持久性可用。部分安装源指出,RabbitMQ 可能默认已配置开机自启,建议执行该命令进行显式确认。

2.2.4.2通过IP:port访问界面

在浏览器中输入以下 URL 并提供相应的用户名和密码:

http://your_server_ip:15672/

默认用户名和密码都是guest。用云服务器配置需要注意,要去云服务器的控制台,找到安全组  在里面开放对应的端口。

生产环境安全警示:绝对禁止将授权对象设置为 0.0.0.0/0(开放所有 IP 访问)。应通过 IP 白名单 限制仅允许管理员或应用服务器的 IP 段访问,例如企业内网 IP 段(如 10.0.0.0/8)或特定办公网络 IP,以降低未授权访问风险。

2.2.4.3添加管理员用户并登录

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 用户及密码登录,验证节点状态、连接数及队列指标是否正常。

3.小结

到此这篇关于Ubuntu环境下的 RabbitMQ 安装与配置详细教程的文章就介绍到这了,更多相关RabbitMQ 安装与配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文