在 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.
欢迎来到之路教程(on itroad-com)

在 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管理界面的仪表板。
我们可以从这里对消息代理服务器进行完整的管理。

在 CentOS/RHEL 8 上安装 RabbitMQ 服务器

RabbitMQ 是一个开源的消息代理软件(有时也称为面向消息的中间件),最初实现了高级消息队列协议 (AMQP),后来通过插件架构进行了扩展,以支持面向流文本的消息传递协议 (STOMP) 、MQ 遥测传输 (MQTT) 和其他协议。

RabbitMQ 服务器程序是用 Erlang 编程语言编写的,并建立在开放电信平台框架之上,用于集群和故障转移。
与代理交互的客户端库可用于所有主要编程语言,包括 Java、Erlang 和 .NET Framework。

在本教程中,我们将看到如何在 CentOS/RHEL 8 上安装它。

日期:2020-09-17 00:16:33 来源:oir作者:oir