RabbitMQ是一个免费开源的消息代理(Message Broker)。支持多种消息协议,RabbitMQ是互联网上使用最广泛的消息代理。它支持AMQP、STOMP、MQTT、HTTP、WebSockets以及RabbitMQ Stream等协议。RabbitMQ完全符合JMS 1.1标准,适用于从小型到大型部署环境的各种开发场景。
作为消息代理,RabbitMQ位于应用程序之间,允许它们以异步、可靠和便捷的方式相互通信。它还在应用程序之间提供临时存储,防止数据丢失。
在本指南中,你将学习如何在Ubuntu 24.04服务器上安装RabbitMQ服务器。你还将学习如何启用RabbitMQ插件、设置RabbitMQ管理员用户,然后通过Web浏览器访问RabbitMQ管理面板。
前提条件
要完成本指南,请确保你具备以下条件:
- 一台Ubuntu 24.04服务器
- 一个具有管理员权限的非root用户
方法一:通过Ubuntu仓库安装RabbitMQ服务器
默认情况下,Ubuntu仓库提供了RabbitMQ服务器软件包,你可以通过APT安装。如果你倾向于使用最简单、最干净的系统(无需添加第三方仓库)来安装RabbitMQ,可以通过Ubuntu仓库进行安装。
首先,运行以下命令更新Ubuntu软件包索引到最新版本。
sudo apt update

现在使用下面的apt install命令安装rabbitmq-server软件包。输入Y确认安装。
sudo apt install rabbitmq-server

安装完成后,使用以下命令检查rabbitmq-server服务。你会看到RabbitMQ服务器已启用并正在运行。
sudo systemctl is-enabled rabbitmq-server
sudo systemctl status rabbitmq-server

最后,你还可以通过以下命令验证RabbitMQ服务器使用的端口:
ss -tulpn

你可以看到端口5672被beam服务使用。
方法二:通过Cloudsmith镜像安装RabbitMQ服务器
如果你需要获取最新版本的RabbitMQ服务器,可以使用Cloudsmith镜像提供的第三方仓库来安装RabbitMQ服务器。在本节中,你将添加Cloudsmith镜像仓库,然后从中安装RabbitMQ服务器。
执行以下命令添加RabbitMQ服务器软件包的Cloudsmith镜像。这将自动添加RabbitMQ的GPG密钥和仓库。
curl -1sLf 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.deb.sh' | sudo -E bash

过程完成后,运行以下apt install命令安装RabbitMQ服务器。
sudo apt install rabbitmq-server

输入Y继续安装。
安装完成后,使用以下命令检查rabbitmq-server服务。你可以看到RabbitMQ服务器已自动启用并正在运行。
sudo systemctl is-enabled rabbitmq-server
sudo systemctl status rabbitmq-server
至于RabbitMQ服务器端口,使用下面的ss命令确保端口5672处于LISTEN状态。
ss -tulpn

配置RabbitMQ服务器
安装RabbitMQ服务器后,你可以通过RabbitMQ配置文件/etc/rabbitmq/rabbitmq-env.conf更改默认绑定IP地址和节点名称。这是可选的,特别是如果你想构建将在本地/私有IP地址上运行的RabbitMQ集群。此外,不要直接在公网IP地址上运行RabbitMQ。
使用nano编辑器编辑RabbitMQ配置文件/etc/rabbitmq/rabbitmq-env.conf。
sudo nano /etc/rabbitmq/rabbitmq-env.conf
将NODENAME更改为你的服务器主机名,将NODE_IP_ADDRESS更改为Ubuntu服务器的内网IP地址,NODE_PORT可以保持默认值。在本例中,我们将在本地IP地址192.168.5.65上运行RabbitMQ。
NODENAME=noble64 NODE_IP_ADDRESS=192.168.5.65 NODE_PORT=5672
保存文件并退出编辑器。
现在运行以下systemctl命令重启RabbitMQ服务器以应用更改。
sudo systemctl restart rabbitmq-server
最后运行以下ss命令确保RabbitMQ服务器正在你的内网IP地址上运行。
ss -tulpn | grep 5672
以下输出显示RabbitMQ服务器正在IP地址192.168.5.65上运行。
设置RabbitMQ管理员
在本节中,你将学习如何通过rabbitmq-plugins启用rabbitmq_management插件。这将为你提供一个管理员界面,允许你通过Web浏览器监控和配置RabbitMQ。之后,你还将通过rabbitmqctl命令行为RabbitMQ服务器安装创建一个管理员用户。
首先,执行以下rabbitmq-plugins命令启用rabbitmq_management插件。这将同时启用其他插件,如rabbitmq_management_agent和rabbitmq_web_dispatch。
sudo rabbitmq-plugins enable rabbitmq_management

现在运行以下命令创建一个新用户admin,密码为adminpass。然后,将admin用户设为管理员,并授予RabbitMQ服务器中所有可用vhost的权限。
rabbitmqctl add_user admin adminpass
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

接下来,运行以下systemctl命令重启RabbitMQ服务器以应用更改。执行后,RabbitMQ管理界面将在端口15672上运行。
sudo systemctl restart rabbitmq-server
使用以下命令检查系统上的开放端口。你将看到端口15672处于LISTEN状态。
ss -tulpn
访问RabbitMQ管理面板
访问你的Ubuntu服务器IP地址,例如 http://192.168.5.65:15672/。如果一切正常,你将看到RabbitMQ登录页面。

输入用户admin和密码adminpass,然后点击Login确认。如果你使用了不同的用户名和密码,请相应更改。
如果成功,你将看到RabbitMQ管理面板。

总结
恭喜!你已完成在Ubuntu 24.04上安装RabbitMQ服务器。你学习了两种安装RabbitMQ的方法:通过Ubuntu仓库和使用Cloudsmith镜像。之后,你还更改了RabbitMQ绑定地址和节点名称,启用了rabbitmq_management插件,并使用rabbitmqctl工具创建了管理员用户。
你可以在其他服务器上安装RabbitMQ,然后从这里创建集群。