如何在Ubuntu 18.04 LTS上安装RabbitMQ服务器
RabbitMQ是最受欢迎的免费和开源邮件队列或者消息代理软件。
RabbitMQ最初实现了高级消息排队协议(AMQP)。
它还支持诸如STOMP(流定向文本的消息传递协议)和MQTT(消息排队遥测传输)等协议。
通常,消息代理软件用于在各种分布式服务,系统或者应用程序之间发送和接收消息。
已用Erlang编程语言编写的RabbitMQ具有以下功能:
- 支持多协议AMQP,MQTT,STOMP,HTTP
- 支持所有主要编程语言的客户端接口和库
- 聚类/高可用性
- 多样化的工具和插件
- 交换和队列之间的路由消息
- 用户友好的Web界面监视和控制消息代理
- 跟踪能力
在本教程中,我们将向我们展示如何在Ubuntu 18.04()上设置RabbitMQ。
在Ubuntu上安装RabbitMQ
首先,让我们更新Ubuntu存储库:
sudo apt-get update
使用以下任一命令添加签名密钥:
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add
或者
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
创建RabbitMQ存储库文件。
vim /etc/apt/sources.list.d/bintray.rabbitmq.list
将以下存储库添加到文件。
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang deb https://dl.bintray.com/rabbitmq/debian bionic main
保存并关闭文件。
运行存储库更新。
sudo apt-get update
安装RabbitMQ服务器。
sudo apt-get install rabbitmq-server
检查RabbitMQ服务器状态。
sudo systemctl status rabbitmq-server.service
如果rabbitmq未运行,则使用此命令启动服务:
sudo systemctl start rabbitmq-server.service
启用系统启动的RabbitMQ服务。
sudo systemctl enable rabbitmq-server
rabbitmq港口
4369:EPMD,RabbitMQ节点和CLI工具5672,5671使用的对等体发现服务:由AMQP 0-9-1和1.0客户端使用,无需和TLS 25672:用于节点间和CLI工具通信35672-35682:使用通过CLI工具(ERLANG分发客户端端口)用于与节点通信,并从动态范围15672:HTTP API客户端,管理UI和Rabbitmqadmin分配(仅当启用管理插件)61613,61614:踩踏客户端没有和TLS(只有在启用STOMP插件)时,才有1883,8883 :(如果MQTT插件已启用15674:STOM-Over-WebSockets客户端(仅当启用Web Stomp Plugin)15675:MQTT-over- WebSockets客户端(仅当启用Web MQTT插件)
允许RabbitMQ管理UI通过防火墙
RabbitMQ管理控制台在端口15672上运行,需要通过防火墙授予权限。
sudo ufw allow 15672
安装成功后,我们可以访问Web管理控制台,并在"15672"端口上运行。
但默认情况下,未启用"安装管理控制台"插件。
需要此插件以监视和管理RabbitMQ服务器。
它也使用了Tomonitor队列,消息速率和管理队列,绑定和用户等。
让我们了解我们如何启用"安装管理控制台"插件。
但在我们这样做之前,让我们看看可用的所有RabbitMQ插件。
sudo rabbitmq-plugins list
现在启用RabbitMQ管理插件
sudo rabbitmq-plugins enable rabbitmq_management
我们可以使用默认访客用户访问管理控制台。
但我们需要创建并添加新的管理员用户来访问管理控制台。
其中我们创建了一个用户名'admin'和密码的用户也是'admin'。
但我建议使用强密码进行安全。
sudo rabbitmqctl add_user admin admin
现在我们标记了我们的用户'管理员',我们在上面的步骤中创建,作为"管理员"
sudo rabbitmqctl set_user_tags admin administrator
现在我们已准备好重新启动rabbitmq服务
sudo systemctl restart rabbitmq-server.service
在我们访问管理UI之前,让我们检查服务器上的端口
sudo netstat -tunlp
管理UI访问权限
可以使用这些URL中的任何一个访问管理控制台:
- http://serverip或者
- 主机名:15672 /
例如:http://13.236.85.236:15672 /或者http://rabbitmq.theitroad.com:15672
我们将能够查看控制台登录窗口。
然后使用已创建的管理员用户名和密码访问仪表板。
我们已成功安装和配置RabbitMQ服务器。