在 CentOS/RHEL 8 上安装 RabbitMQ 管理 UI
尽管 RabbitMQ 软件包含足够的 CLI(命令行)工具来管理消息代理服务器。
但是我们可以选择安装 RabbitMQ 管理 UI 来执行基于 GUI 的管理。
执行以下命令在 Linux 服务器上安装 RabbitMQ Management UI。
# rabbitmq-plugins enable rabbitmq_management Enabling plugins on node rabbit@rabbitmq-01: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@rabbitmq-01... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch started 3 plugins.
验证 RabbitMQ 管理 UI 服务是否在默认端口 15672 上运行。
# ss -tulpn | grep 15672 tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:* users:(("beam.smp",pid=2949,fd=98))
要允许传入流量到 RabbitMQ 管理 UI,我们需要在 Linux 防火墙中允许默认服务端口 15672/tcp。
此外,RabbitMQ 将端口 5672/tcp 用于基于 AMQP 协议的队列。
因此,我们还应该在 Linux 防火墙中启用它。
执行以下命令以允许 Linux 防火墙中所需的端口。
# firewall-cmd --permanent --add-port={5672,15672}/tcp success # firewall-cmd --reload success
安装 RabbitMQ Yum 仓库
要安装最新版本的 RabbitMQ 软件,我们可以为我们喜欢的 Linux 发行版编译源代码,也可以添加官方 yum 存储库以从预编译的 RPM 包安装消息代理软件。
该软件提供了一个 bash 脚本,用于自动安装其官方 yum 存储库。
执行以下命令在 Linux 服务器上安装 RabbitMQ yum 存储库。
# curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
为新安装的 yum 存储库构建缓存。
# dnf makecache CentOS Linux 8 - AppStream 3.5 kB/s | 4.3 kB 00:01 CentOS Linux 8 - BaseOS 4.3 kB/s | 3.9 kB 00:00 CentOS Linux 8 - Extras 1.5 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - 27 kB/s | 104 kB 00:03 Extra Packages for Enterprise Linux 8 - x86_64 88 kB/s | 8.7 MB 01:40 rabbitmq_rabbitmq-server 99 B/s | 833 B 00:08 rabbitmq_rabbitmq-server-source 152 B/s | 819 B 00:05 Metadata cache created.
在 CentOS/RHEL 8 上安装 RabbitMQ 服务器
现在,我们可以使用 dnf 命令轻松安装 RabbitMQ 软件。
由于我们已经在 CentOS/RHEL 8 服务器上设置了 EPEL yum 存储库,因此所有依赖项都将自动解析。
# dnf install -y rabbitmq-server
如下启用并启动RabbitMQ服务。
# systemctl enable --now rabbitmq-server.service Created symlink /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service -> /usr/lib/systemd/system/rabbitmq-server.service.
验证RabbitMQ服务的状态。
# systemctl status rabbitmq-server.service
RabbitMQ 的特点
RabbitMQ 的一些主要特性是:
- 可靠性
- 灵活路由
- 聚类
- 联邦模型
- 高可用队列
- 多协议
- 管理界面
- 追踪
- 插件系统
- 大型社区
- 商业支持
安装 EPEL Yum 存储库
消息代理软件所需的一些软件包在 EPEL(企业 Linux 的另外软件包)yum 存储库中可用。
因此,在安装 RabbitMQ 之前,我们需要在 Linux 服务器上启用/安装 EPEL yum 存储库。
# dnf install -y epel-release
为 RabbitMQ 管理 UI 创建管理员用户
RabbitMQ 软件附带一个默认用户 guest 和密码 guest 。
此访客用户具有管理权限,但只能从本地主机登录到消息代理服务器。
因此,我们需要创建另一个管理员用户来远程访问 RabbitMQ 管理 UI。
首先,检查消息代理服务器上已经可用的用户。
# rabbitmqctl list_users Listing users ... user tags guest [administrator]
现在,在 Linux 命令行执行以下命令来创建一个新用户来管理 RabbitMQ 服务器。
# rabbitmqctl add_user admin Str0ngP@ssw0rd Adding user "admin" ... # rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ...
在 Web 浏览器中打开 URL http://rabbitmq-01.onitroad.com:15672/。
以我们在前面步骤中创建的管理员用户身份登录。
登录成功后,我们可以到达RabbitMQ管理界面的仪表板。
我们可以从这里对消息代理服务器进行完整的管理。
RabbitMQ 是一个开源的消息代理软件(有时也称为面向消息的中间件),最初实现了高级消息队列协议 (AMQP),后来通过插件架构进行了扩展,以支持面向流文本的消息传递协议 (STOMP) 、MQ 遥测传输 (MQTT) 和其他协议。
RabbitMQ 服务器程序是用 Erlang 编程语言编写的,并建立在开放电信平台框架之上,用于集群和故障转移。
与代理交互的客户端库可用于所有主要编程语言,包括 Java、Erlang 和 .NET Framework。
在本教程中,我们将看到如何在 CentOS/RHEL 8 上安装它。