7
votes

When I try to run on my server machine command

./rabbitmq-server

I the get following:

WARNING: Removing trailing slash from RABBITMQ_LOG_BASE
         Removing trailing slash from RABBITMQ_MNESIA_BASE
Protocol 'inet_tcp': register/listen error: econnrefused

Backstory: This is my first time I'm trying to install RabbitMQ-Server just using ssh.

Step-by-step what I did so far would be:

  1. wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.15.zip
  2. unzip rabbitmq-server-3.6.15.zip
  3. nano Makefile # change prefix to rabbitMQ in home directory PREFIX ?= /home/user/rabbitmq
  4. gmake
  5. gmake install
  6. cd ~/rabbitmq/lib/erlang/lib/rabbitmq_server-3.6.15/sbin/
  7. export RABBITMQ_MNESIA_BASE=/home/user/rabbitmq/lib/erlang/lib/rabbitmq_server-3.6.15/sbin/ export RABBITMQ_LOG_BASE=/home/user/rabbitmq/
  8. ./rabbitmq-server

And here comes the error. I was told that maybe "unlocking" ports would do the trick, but

  • I don't know how to do that
  • I don't know if that's the case
1
Why are you not using the latest pre-packaged release for your operating system? If that is not an option, use the generic-unix package. Compiling RabbitMQ yourself should not be necessary and will only cause headaches like you're seeing. Finally, what Erlang version are you using? - Luke Bakken
From what Legoscia posted below, it seems like it's not RabbitMQ's failure, but rather epmd. My version is 19 - Ochmar
@LukeBakken IME, compiling Erlang apps/projects is totally fine (and seemingly common). Is RabbitMQ particularly hard to compile? - Kenny Evitt

1 Answers

12
votes

The error Protocol 'inet_tcp': register/listen error: econnrefused means that the Erlang node tried to connect to epmd (the Erlang port mapper daemon) to register its name, but failed to connect.

That shouldn't happen: epmd should be started when the Erlang node starts up. You could try running epmd manually in the shell, and see if it reports any errors.


If it says failed to bind socket: Operation not permitted, check if something else is using port 4369 (which is the port that epmd tries to listen on).