To use the new rabbitmq.conf file on windows you must re-install the service to let it use the conf file, and the file must exists on disk before you re-install the service.
Here’s the steps to enable the new rabbitmq.conf file:
- Go to the rabbitmq folder, usually “%appdata%\RabbitMQ”
- Create a file named “rabbitmq.conf” (if you want you can take the example file from github)
- Open the command prompt from start menu using the link “RabbitMQ Command Prompt (sbin dir)”
- Stop the service
- Remove the service
- Install the service
- Start the service
Here’s the steps to move all the base RabbitMQ directory (with also data and log directory) to another location on Windows:
- open the command prompt from start menu using the link “RabbitMQ Command Prompt (sbin dir)”
- kill the process “epmd.exe” from the task manager using the details tab
- move the folder from “%appdata%\RabbitMQ” to a different location for instance “D:\”
Probably the most exciting thing of this post is the funny image of RabbitMQ’s cleaner 🙂
Yes, you can also reset the RabbitMQ instance, by running these commands:
…but sometimes could be necessary to clean up stuff, especially when you have played around cluster, multiple node on the same machine, ad so on.
It took me a while to figure out who was maintaining a reference to the %appdata%\RabbitMQ folder, even after I uninstalled Erlang, so here’s the simple steps:
- Uninstall RabbitMQ Server
- Kill the process epmd.exe (this was the process maintaning a reference to the RabbitMQ folder)
- Delete the folder RabbitMQ that is under %appdata%
If you also want to change the erlang cookie, you will need to delete also the file “.erlang.cookie” that you find under your users folder %userprofile%
If you have a cluster and remove .erlang.cookie the node would no be able to rejoin the cluster
- Reinstall RabbitMQ Server
That’s all folks!
If you change the name of the machine where RabbitMQ server is installed, you will see that the service will no longer be startable, this because RabbitMQ relays on the machine name to create and connect to the node, even if it is local.
To fix this problem, you just have to reinstall the rabbitmq windows service, by using the proper command line utility rabbitmq-service.bat
Service control usage
rabbitmq-service help - Display this help
rabbitmq-service install - Install the RabbitMQ service
rabbitmq-service remove - Remove the RabbitMQ service
The following actions can also be accomplished by using
Windows Services Management Console (services.msc):
rabbitmq-service start - Start the RabbitMQ service
rabbitmq-service stop - Stop the RabbitMQ service
rabbitmq-service disable - Disable the RabbitMQ service
rabbitmq-service enable - Enable the RabbitMQ service
- First start a command prompt as administrator and go to the rabbitmq-server-x sbin folder
cd %programfiles(x86)%\RabbitMQ Server\rabbitmq_server-3.3.2\sbin
- Uninstall the service
- Install the service
This should recreate the service and configure it to start the node with the correct name.
If this doesn’t work you can follow the instruction on how to completely reset a rabbitmq server installation.