невозможно запустить rabbitmq-server после установки - PullRequest
1 голос
/ 05 августа 2020

Я пытаюсь использовать rabbitmq для обучения django, но когда я хочу запустить сервер, я получаю эту ошибку:

~$ sudo rabbitmq-server 
Configuring logger redirection
14:49:57.041 [error] 

14:49:57.044 [error] BOOT FAILED
BOOT FAILED
14:49:57.044 [error] ===========
===========
14:49:57.044 [error] ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@wss
ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@wss
14:49:57.045 [error] 

14:49:58.046 [error] Supervisor rabbit_prelaunch_sup had child prelaunch started with rabbit_prelaunch:run_prelaunch_first_phase() at undefined exit with reason {dist_port_already_used,25672,"rabbit","wss"} in context start_error
14:49:58.046 [error] CRASH REPORT Process <0.153.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","wss"}}},{rabbit_prelaunch_app,start,[normal,[]]}} in application_master:init/4 line 138
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,\"rabbit\",\"wss\"}}},{rabbit_prelaunch_app,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","wss"}}},{rabbit_prelau

Crash dump is being written to: erl_crash.dump...done

Я искал порт, чтобы увидеть, использовать или нет, я использовал lsof -i :25672 и ничего не получил.

Я не слишком много знаю об этих вещах, поэтому, если вам что-нибудь понадобится, скажите мне.

Ответы [ 2 ]

2 голосов
/ 10 августа 2020

Попробуйте:

  1. sudo lsof -i :25672
  2. sudo kill <PID>
  3. sudo rabbitmq-server

Где <PID> - ID процесса, который занимает порт 25672

0 голосов
/ 04 сентября 2020

Я уже сталкивался с этим раньше. Вот что вызвало это и как я его исправил:

Это одна из тех команд, для которых требуется magi c word sudo (т.е. требуется привилегия суперпользователя). Если вы забудете добавить sudo к команде, она начнет процесс, но позже завершится ошибкой, когда столкнется с препятствием только для суперпользователя. Это оставляет вам незавершенный процесс. Теперь, когда вы решите добавить sudo , он попытается повторить тот же процесс еще раз, но обнаружит, что кто-то без соответствующих привилегий наделал беспорядок или все еще возится. Тогда решением будет отменить все, что была запущена первая команда, и повторить попытку.

sudo lsof -i :25672

В этом списке приведены сведения о порте 25672

Вы увидите PID (идентификатор процесса), например, 1301

Затем остановите процесс на этом порту с помощью:

sudo kill <PID>

, например, sudo kill 1301 И убедитесь, что вы убиваете правильный процесс, если нет, у вас могут возникнуть проблемы.

Теперь повторите команду с помощью sudo :

sudo rabbitmq-server
...