在 Windows 上安装 RabbitMQ 服务时出错

问题描述 投票:0回答:1

我想将 RabbitMQ 服务安装为 Windows 服务。我看到一个从安装程序 (v3.6.5) 安装 RabbitMQ 服务的选项。然而,它不起作用。

我编写了一个批处理脚本,尝试在运行安装程序文件后重新安装 RabbitMQ 服务。

set HOMEDRIVE=C: set HOMEPATH=\Users\%username% call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service.bat" remove call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-service.bat" install call net start RabbitMQ call "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

但是,这个脚本相当不稳定。 有时有效,但有时无效。

我在许多装有 Windows 10、Windows 8.1、Windows 7 和 Windows Server 2012 的电脑上进行了测试。

发生错误时,总是发生在

最后一个命令(启用RabbitMQ管理)

C:\Program Files\erl9.0\erts-9.0\bin\erlsrv: Service RabbitMQ removed from system. C:\Program Files\erl9.0\erts-9.0\bin\erlsrv: Service RabbitMQ added to system. The RabbitMQ service is starting. The RabbitMQ service was started successfully. Plugin configuration unchanged. Applying plugin configuration to rabbit@<myhost>... failed. * Could not contact node rabbit@<myhost>. Changes will take effect at broker restart. * Options: --online - fail if broker cannot be contacted. --offline - do not try to contact broker.

有时,我会遇到此错误

... Plugin configuration unchanged. Applying plugin configuration to rabbit@<myhost>... failed. Error: noproc

在我的电脑中,当

%HOMEDRIVE%%HOMEPATH%C:\users\myusername 时,我收到第一个错误 (无法联系节点...)。当我更改为 C:\Windows 时,效果很好。然后我改回C:\users\,也运行良好,不再报错了。

但是,在装有 Windows Server 2012 的服务器上,即使

C:\Windows 也无法工作 (无法联系节点...)。

在所有 PC 中,我在

C:\WindowsC:\Users[用户名] 中都看到 .erlang.cookie 文件。 (我对 erlang 一无所知,只需遵循 StackOverFlow 中其他问题的一些说明即可)。

我的脚本有什么问题?

  1. 该错误与RabbitMQ的版本有关吗?我用的不是最新版本。

  2. 和Erlang有关吗?我猜如果 Erlang 导致了这个问题,那么关于删除/安装 RabbitMQ 服务的两个命令将会失败。

  3. 是否可以在不检查安装程序中的服务选项的情况下安装服务,只需运行命令

    rabbitmq-service.bat install

rabbitmq
1个回答
0
投票
您应该使用适用于 Windows 的最新版本的 RabbitMQ 安装程序,可在

此处获取。我假设您问题中的 <myhost>

 是经过编辑的主机名,而不是实际使用的主机名。你也没有提到你安装了哪个版本的 Erlang,但我认为它是最近的版本。

您应该卸载 RabbitMQ 并确保从

C:\Users\myusername

(务必检查 
%APPDATA%
)和 
C:\Windows
 中删除所有痕迹。在安装之前,您不必更改 
HOMEDRIVE
HOMEPATH
 的默认值。运行 Erlang 和 RabbitMQ 
.exe
 安装程序时使用管理帐户。

请注意,

3.6.12

 在 Windows 上存在
此问题。解决方法是将 vm_memory_calculation_strategy
 设置为 
erlang
。我解决了这个问题,将在
3.6.13
内交付。

感谢您使用 RabbitMQ!

© www.soinside.com 2019 - 2024. All rights reserved.