RabbitMQ – Windows手动安装定制





4.00/5 (3投票s)
本文分步介绍了在 Windows 上自定义手动安装 RabbitMQ 的要点。
引言
使用标准安装程序(可在此处 下载)安装 RabbitMQ
非常简单,也是设置服务器的推荐方式。但是,有时您可能需要自定义安装。例如,您可能需要将 RabbitMQ
与要发布的 المنتج打包在一起,或者您想编写批处理脚本。本文将重点介绍这些重要的自定义安装和打包方面。
RabbitMQ
文档详细解释了这方面的每一个细节。本文汇编并总结了这些步骤,目的是让您理解整个过程和相关依赖项。
下载详情
您首先需要下载以下内容
注意:上面提到的 Erlang OTP 和 RabbitMQ
版本是我撰写本文时最新的版本。
安装步骤
步骤 1
按照安装向导中的说明安装 Erlang OTP。如果您的系统尚未安装 Microsoft VC++ 2013 可再发行组件,它还会提示您安装。
第二步
解压缩 rabbitmq-server-windows-3.6.5.zip 并将其复制到 C:\MyMessageBroker\Install。请注意,您可以选择系统上的任何位置。为便于理解,我们假定此位置。下面的步骤也将引用此位置。
步骤 3
将 ERLANG_HOME
环境变量设置为您实际安装 Erlang 的位置,例如 C:\Program Files\erlx.x.x(完整路径)。
(RabbitMQ
批处理文件期望执行 %ERLANG_HOME%\bin\erl.exe。)
步骤 4
设置 RabbitMQ
环境变量
注意:如果您在一台机器上设置集群,则必须确保所有节点都具有唯一的端口。在下一节中,我们将设置一个包含两个节点的集群。
设置以下环境变量
RABBITMQ_NODE_PORT
-RabbitMQ
服务将监听的端口号。此默认值为5762
RABBITMQ_DIST_PORT
- 这用于节点间和 CLI 工具通信。该值通过将RABBITMQ_NODE_PORT
变量的值加 20000 来设置。但是,如果您希望使用配置文件,则将使用那里提供的值。有关更多信息,请参阅RabbitMQ
文档的“网络”部分。让我们将值设置为(RABBITMQ_NODE_PORT + 20000) 25672
RABBITMQ_SERVICENAME
- 当您使用默认安装程序时,RabbitMQ
会安装一个名为“RabbitMQ
”的 Windows 服务。但是,我们可以通过将值设置为RABBITMQ_SERVICENAME
变量来更改此设置。将RABBITMQ_SERVICENAME
的值设置为“MyMessageBroker
”。RABBITMQ_BASE
- 将RABBITMQ_BASE
变量值设置为我们解压缩 zip 包的路径 C:\MyMessageBroker\InstallRABBITMQ_NODENAME
- 节点名称应始终唯一。合格节点名称的格式为“MyNode1@MachineName
”。此变量的值可以是“MyNode1
”,例如,它将内部派生合格名称。让我们为该变量设置值为“MyNode1
”。RABBITMQ_CONFIG_FILE
- 将RABBITMQ_CONFIG_FILE
变量设置为 %RABBITMQ_BASE%\rabbitmq。此路径指示配置文件目录和主名称。也就是说,此处的主名称是“rabbitmq
”,它将在基础位置被引用为“rabbitmq.config”。- 类似地,使用相应的值设置下面列表中的所有变量
RABBITMQ_MNESIA_BASE = %RABBITMQ_BASE%\db
RABBITMQ_MNESIA_DIR = %RABBITMQ_MNESIA_BASE%\%RABBITMQ_NODENAME%
RABBITMQ_LOG_BASE = %RABBITMQ_BASE%\log
RABBITMQ_LOGS = %RABBITMQ_LOG_BASE%\%RABBITMQ_NODENAME%.log
RABBITMQ_SASL_LOGS = %RABBITMQ_LOG_BASE%\%RABBITMQ_NODENAME%-sasl.log
RABBITMQ_PLUGINS_DIR = %RABBITMQ_BASE%\plugins
RABBITMQ_ENABLED_PLUGINS_FILE = %RABBITMQ_BASE%\enabled_plugins
步骤 5
完成上述所有配置后,将 RabbitMQ
安装为 Windows 服务。打开命令窗口(以管理员身份),然后导航到基础位置的“sbin”目录,即 C:\MyMessageBroker\Install\sbin。
执行以下命令安装服务
$> rabbitmq-service install
成功完成步骤 5 后,我们的消息服务器已启动并运行。您可以打开服务控制台,在列表中找到“MyMessageBroker
”服务。
创建集群
我们可以在另一台具有不同节点名称(例如 MyNode2
)的机器上执行上述 5 个步骤,然后加入该节点以形成集群。我们必须确保在第二台机器上具有相同的 Erlang cookie 值。
在集群情况下,节点(和 CLI 工具)使用 Erlang cookie 相互认证。它是一个包含某些值的纯文本文件。此文件的名称为“.erlang.cookie”
在 Windows 上,位置是
- C:\Users\Current User\.erlang.cookie (%HOMEDRIVE% + %HOMEPATH%\.erlang.cookie),或 C:\Documents and Settings\Current User\.erlang.cookie,和
- C:\Windows\.erlang.cookie 用于 RabbitMQ Windows 服务
由于 RabbitMQ
是作为 Windows 服务安装的,因此 cookie 应同时放在这两个位置。
在第二台机器上,找到并编辑“.erlang.cookie”文件,并设置与第一台机器匹配的值。
完成上述 5 个步骤并设置 cookie 值后,打开命令窗口并导航到“sbin
”位置。然后,执行以下命令与第一个节点加入集群
$> rabbitmqctl stop_app
执行上述命令将停止节点。现在您可以使用 join_cluster
命令形成集群
$> rabbitmqctl join_cluster MyNode1@MachineName
成功执行上述命令后,将显示如下消息
$> ....Clustering node MyNode2@MachineName with [MyNode1@MachineName] ...done
然后,您可以通过发出以下命令来检查集群状态
$> rabbitmqctl cluster_status
我们已完成 RabbitMQ
手动安装并启用了集群。在安装并运行管理插件后,您将在“概览”部分看到两个节点。
希望本文能帮助您开始 RabbitMQ
手动安装。
祝您学习愉快!! :-)