我想将RabbitMQ Service安装为Windows服务。我看到从安装程序(v3.6.5)安装RabbitMQ Service的选项。但是,它不起作用。
我写了一个批处理脚本,试图在运行安装程序文件后重新安装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的PC上进行了测试。
错误发生时,总是发生在最后一个命令(启用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:\Windows和C:\Users[username]中都看到了.erlang.cookie文件。(我对erlang一无所知,只是按照StackOverFlow中其他问题的一些说明进行操作)。
我的剧本有什么问题?
1.这个错误是否与RabbitMQ的版本有关?我没有使用最新版本。
1.是否与Erlang有关?我猜如果是Erlang导致了这个问题,那么两个关于删除/安装RabbitMQ服务的命令将失败。
1.是否可以在安装程序中不检查服务选项的情况下安装服务,只需运行命令rabbitmq-service.bat install?
1条答案
按热度按时间w8rqjzmb1#
你应该使用最新版本的Windows RabbitMQ安装程序,可用的here。我假设你问题中的
<myhost>
是一个编辑出来的主机名,而不是实际使用的主机名。你也没有提到你安装了哪个版本的Erlang,但我假设它是最新的。您应该卸载RabbitMQ并确保从
C:\Users\myusername
(请务必检查%APPDATA%
)和C:\Windows
中删除所有跟踪。在安装之前,您不应该更改HOMEDRIVE
和HOMEPATH
的默认值。在运行Erlang和RabbitMQ.exe
安装程序时使用管理帐户。请注意,
3.6.12
在Windows上有this issue。解决方法是将vm_memory_calculation_strategy
设置为erlang
。我修复了这个问题,它将在3.6.13
中交付。感谢您使用RabbitMQ!