我在开发微服务项目时使用了消息队列,顺便深入探索了 RabbitMQ,并在 Linux 系统上完成了部署。如果你也在配置类似中间件,或希望理解消息队列的内部机制,本文可作为一份实用的操作指南。
1. 更新基本系统
在安装任何应用程序之前,建议先将系统软件包和存储库更新至最新版本,以预防依赖冲突。执行以下命令即可:
yum -y update
2. 安装 Erlang
RabbitMQ 由 Erlang 语言开发——一种天生擅长高并发处理的编程语言。因此在安装 RabbitMQ 之前,必须确保 Erlang 已就绪。本次我们安装的是最新发行版。
但默认 YUM 源中不含 Erlang,需要先启用 EPEL 扩展仓库:
yum -y install epel-release yum -y update
接下来再安装 Erlang 和 socat(socat 是 RabbitMQ 运行时的必要依赖):
yum -y install erlang socat
验证 Erlang 版本:
erl -version
正常输出如下:
[root@liptan-pc ~]# erl -version Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4
安装 RabbitMQ
RabbitMQ 为 Linux 企业发行版提供了预编译好的 RPM 包,唯一的外部依赖就是 Erlang——我们已经搞定,接下来直接下载安装包。
2.1 下载 RabbitMQ
使用 wget 下载 RPM 安装包:
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
如果系统尚未安装 wget,请先运行:yum -y install wget。最新版下载地址可前往 RabbitMQ 官方网站查看。
2.2 安装 RabbitMQ
首先导入 GPG 密钥以验证包的安全性:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
接着执行安装命令:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
至此,RabbitMQ 已成功安装在系统中。
3. 使用 RabbitMQ
启动服务:
systemctl start rabbitmq-server
配置开机自动启动:
systemctl enable rabbitmq-server
查看运行状态:
systemctl status rabbitmq-server
4. 访问 Web 控制台
4.1 启动 Web 控制台
RabbitMQ 内置了 Web 管理面板,执行以下命令开启管理插件:
rabbitmq-plugins enable rabbitmq_management
接着修改 RabbitMQ 数据目录的属主权限,保证服务能够正常写入数据:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
4.2 创建用户
管理界面需要一个管理员账户进行登录。使用以下命令创建用户并分配权限:
rabbitmqctl add_user admin StrongPassword rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
请将 admin 替换为你选择的用户名,StrongPassword 替换为足够复杂的密码。
随后在浏览器中访问以下地址即可进入管理面板:
https://Your_Server_IP:15672/
5. 管理界面介绍
首次打开登录页面时,默认账号密码为 guest/guest。
5.1 主页

页面上几个核心概念需要掌握:Connections 代表客户端与 RabbitMQ 建立的连接,无论是生产者还是消费者都由此开始;Channels 是在连接上创建的虚拟通道,消息的发送与接收都经过通道;Exchanges 即交换机,负责消息的路由分发;Queues 则是实际存放消息的队列,消息经由交换机进入队列,等待消费者获取。
端口信息将在此处显示:

5.2 添加用户

在创建用户时,Tags 选项用于指定角色权限,常见角色包括:
- 超级管理员(administrator):允许登录管理界面,查看全部信息,并能管理用户与策略。
- 监控者(monitoring):允许登录管理界面,查看节点相关的进程数、内存、磁盘等监控信息。
- 策略制定者(policymaker):可登录管理界面并管理策略,但无法查看节点信息。
- 普通管理者(management):仅能登录管理界面,无法查看节点信息,也不能管理策略。
- 其他:无法登录管理界面,通常作为普通的消费者或生产者使用。
5.3 创建虚拟主机(Virtual Hosts)
为了实现不同业务或用户之间的隔离,RabbitMQ 提供了虚拟主机(Virtual Hosts)机制。简单来说,虚拟主机就是一个独立的访问路径——不同用户拥有不同路径,各自的队列和交换机相互独立。

创建好虚拟主机后,还需要为用户分配访问权限。点击刚才创建的虚拟主机:

进入配置页面,在权限设置处完成绑定即可:

