文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

本文提供了自定义手动在Windows上安装RabbitMQ的详细教程。

简介

使用标准的安装器(参见这里)安装 RabbitMQ 非常容易,而且是设置服务器的推荐做法。但有些时候你可能希望自定义安装。比如,你可能需要将 RabbitMQ 与你希望交付的产品打包,或者你希望写一些脚本。本文涉及了一些重要问题,帮助你自定义安装和打包。

第 1 段(可获 1.11 积分)

RabbitMQ 文档详细解释了每个步骤。本文本着让你理解过程和依赖的目标,对文档步骤进行了梳理。

下载细节

你首先需要下载:

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

注意:在写作本文时,上面提到的 Erlang OTP 和 RabbitMQ 版本号是最新的。

安装步骤

第一步

根据安装向导中的引导,安装 Erlang OTP。它同时会提示你安装 Microsoft VC++ 2013 redistributable,如果你的系统还没有安装的话。

第 2 段(可获 1.28 积分)

第二步

解压缩 rabbitmq-server-windows-3.6.5.zip,并拷贝到 C:\MyMessageBroker\Install。请注意你可以选择系统中的任何路径。为了便于理解,我们假设选用上述路径。下面的步骤引用了这个路径。

第三步

将 ERLANG_HOME 环境变量设置为你安装 Erlang 的路径,比如 C:\Program Files\erlx.x.x (绝对路径)。

( RabbitMQ 批处理文件可能会执行 %ERLANG_HOME%\bin\erl.exe。)

第四步

设置 RabbitMQ 环境变量:

注意:如果你在一个机器上设置集群,你需要确保所有的节点各自独享端口。在下一章,我们会设置包含两个节点的集群。

第 3 段(可获 1.46 积分)

设置下面的环境变量:

  • RABBITMQ_NODE_PORTRabbitMQ 服务监听的端口号。默认值是 5762
  • RABBITMQ_DIST_PORT:用于跨节点和命令行工具通信。数值设为 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”。
  • 类似地,将下表中所有变量设置为下面相应的数值:
第 4 段(可获 2.61 积分)
  • 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

第五步

完成上述配置后,将 RabbitMQ 安装为Windows服务。打开命令窗口(以管理员身份)并进入基础路径的 “sbin” 目录,即 C:\MyMessageBroker\Install\sbin。

第 5 段(可获 0.44 积分)

执行下面的命令来安装服务:

$> rabbitmq-service install

在完成第5步后,我们的消息服务器已经启动和运行了。你可以打开服务控制台,并在列表中找到“MyMessageBroker” 服务。

创建集群

我们在另一台机器上,使用另一个节点名(比如 MyNode2)按照第5步创建节点,并将节点连接起来形成集群。我们需要保证在第二台机器上,我们有同样的Erlang cookie值。

在集群情况下,节点(和命令行工具)通过Erlang cookie互相认证。这是一个存储了某些数值的纯文本文件,名称是.erlang.cookie”。

第 6 段(可获 1.4 积分)

在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" 文件,设置值为第一台机器中的cookie值。

在完成上述5步并设置好cookie值后,打开命令行窗口并进入 “sbin” 目录,执行下面的命令来连接第一个节点:

第 7 段(可获 1.23 积分)

$> rabbitmqctl stop_app

执行上述命令将会停止节点。现在你可以使用 join_cluster 命令来搭建集群:

$> rabbitmqctl join_cluster MyNode1@MachineName

上面的命令执行成功的话,将显示下面的信息:

$> ....Clustering node MyNode2@MachineName with [MyNode1@MachineName] ...done 

然后,通过下面的命令可以检查集群的状态:

$> rabbitmqctl cluster_status 

我们已经完成了在集群中手动搭建 RabbitMQ 的过程。在你安装并运行管理插件后,你会在 "Overview" 部分看到两个节点。

希望本文能帮助你开始进行 RabbitMQ 手动安装。

祝学习愉快 !! :-)

第 8 段(可获 1.21 积分)

文章评论