I want to install RabbitMQ Service as a Windows Service. I see an option to install RabbitMQ Service from installer (v3.6.5). However, it does not work.
I write a Batch script trying to re-install RabbitMQ service after running installer file.
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
However, this script is quite unstable. Sometimes it works, but sometimes it doesn't.
I tested in many PCs with Windows 10, Windows 8.1, Windows 7 and Windows Server 2012.
When error occurs, it always occurs in the last command (enabling RabbitMQ management)
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.
Sometimes, I got this error
...
Plugin configuration unchanged.
Applying plugin configuration to rabbit@<myhost>... failed.
Error: noproc
In my PC, I get the first error (could not contact node...) when %HOMEDRIVE%%HOMEPATH% is C:\users\myusername. When I change to C:\Windows, it works well. Then I change back to C:\users\, it also works well, no more error.
However, on a server with Windows Server 2012, even C:\Windows does not work (could not contact node...).
In all PCs, I see .erlang.cookie file in both C:\Windows and C:\Users[username]. (I don't know anything about erlang, just follow some instructions from other questions in StackOverFlow).
What is wrong with my script?
Is the error related to the version of RabbitMQ? I am not using the latest version.
Is it related to Erlang? I guess if Erlang caused this problem, then two commands about removing/installing RabbitMQ service would be failed.
Is it able to install the service without checking service option from installer, just run command rabbitmq-service.bat install?