如何在Ubuntu 18.04 LTS上安装RabbitMQ服务器

时间:2020-02-23 14:38:47  来源:igfitidea点击:

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服务器。