65.9K
CodeProject 正在变化。 阅读更多。
Home

RabbitMQ – Windows手动安装定制

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (3投票s)

2016 年 12 月 30 日

CPOL

4分钟阅读

viewsIcon

15683

本文分步介绍了在 Windows 上自定义手动安装 RabbitMQ 的要点。

引言

使用标准安装程序(可在此处 下载)安装 RabbitMQ 非常简单,也是设置服务器的推荐方式。但是,有时您可能需要自定义安装。例如,您可能需要将 RabbitMQ 与要发布的 المنتج打包在一起,或者您想编写批处理脚本。本文将重点介绍这些重要的自定义安装和打包方面。

RabbitMQ 文档详细解释了这方面的每一个细节。本文汇编并总结了这些步骤,目的是让您理解整个过程和相关依赖项。

下载详情

您首先需要下载以下内容

  • 下载 Erlang OTP 19.0(点击此处 此处)。
  • 下载 RabbitMQ 3.6.5 手动 zip 包(点击此处 此处)(rabbitmq-server-windows-3.6.5.zip

注意:上面提到的 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\Install
  • RABBITMQ_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 上,位置是

  1. C:\Users\Current User\.erlang.cookie (%HOMEDRIVE% + %HOMEPATH%\.erlang.cookie) C:\Documents and Settings\Current User\.erlang.cookie
  2. 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 手动安装。

祝您学习愉快!! :-)

© . All rights reserved.