Config file for RabbitMQ as windows service
I'm setting up an instance of RabbitMQ to run on my development workstation so as to make tests.
I would like to play with the configuration (conf regarding flow control in my case).
I've installed erlang, rabbitmq-server-3.1.1, set RABBITMQ_BASE
to a certain directory, set RABBITMQ_CONFIG_FILE
to c:/path/to/myconf
(so it references c:\path\to\myconf.config
).
Now I open my cmd and execute rabbitmq-service install. The web manager shows that my RMQ server is up and running.
But the value for disk_free_limit
I've set does not match.
I don't know if the config file is not read or if I my config file has errors and is therefore ignored.
Content of my conf file:
[
{rabbit,
[
{disk_free_limit, 250000000}
]
}
].
Launch report in the logs (it shows that my conf file is not read):
=INFO REPORT==== 12-Jun-2013::17:06:44 ===
node : rabbit@DEV-WORKSTATION
home dir : C:\Windows
config file(s) : (none)
cookie hash : 2SazL+DgWDMqrHlr4w8R8A==
log : c:/rabbitmq_server-3.1.1/RabbitMQ/log/DEV-WORKSTATION.log
sasl log : c:/rabbitmq_server-3.1.1/RabbitMQ/log/[email protected]
database dir : c:/rabbitmq_server-3.1.1/RabbitMQ/db/rabbit@DEV-WORKSTATION-mnesia
Thanks for your help.
Solution 1:
I had the same issue and struggled to figure it out. I think the options provided in the start menu are doing things incorrectly. Once I ran from the command line it worked well.
set the RABBITMQ_CONFIG_FILE to your config file 1. Add your config file 2. rabbitmq-service stop 3. rabbitmq-service remove 4. rabbitmq-service install
Then it was able to pickup the config file
Solution 2:
Make sure you set the RABBITMQ_CONFIG_FILE
environment variable in the correct place. It needs to be in the System variables
section in Control Panel > System > Advanced... > Environment Variables.
Note that all that the RabbitMQ Service start script does is:
if "!RABBITMQ_CONFIG_FILE!"=="" (
set RABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq
)
which simply checks if the variable is set and sets it to the default if it isn't set. It then goes on to check if the file, appending a .config
extension, exists:
if exist "!RABBITMQ_CONFIG_FILE!.config" (
set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
) else (
set RABBITMQ_CONFIG_ARG=
)
(I can't really say that I recommend doing this, but, if you really want to, you can change c:/rabbitmq_server-3.1.1/RabbitMQ/sbin/rabbitmq-service.bat
so the line above uses the location that you want as the default.)