我试图在django教程中使用rabbitmq,但是当我想启动服务器时,我会得到以下错误:
~$ 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,我什么也没有得到。
我对这些东西不太了解,所以如果你需要什么,请告诉我。
发布于 2020-08-10 20:33:15
尝试:
sudo lsof -i :25672sudo kill <PID>sudo rabbitmq-server其中<PID>是占用端口25672的进程ID。
发布于 2021-03-04 09:56:35
我遇到过这个问题。我发现这个问题的出现是因为狂犬病病毒服务器已经在机器上运行。
我使用了以下命令
rabbitmqctl.bat status来了解狂犬病病毒服务器的状态.这帮助我知道服务器是打开还是关闭。
如果已经启动,这可能是您在帖子中所指定的错误的原因。
您可以发出以下命令将服务器关闭
rabbitmqctl.bat停止
现在,您可以通过发出以下命令来尝试启动rabbitmq-服务器
rabbitmq-服务器启动
请注意,我正在使用Windows。我通过将命令提示符指向C:\Program Files\RabbitMQ\rabbitmq_server-3.8.14\sbin来执行这些命令,因为我的rabbitmq安装目录是C:\Program Files\RabbitMQ\rabbitmq_server-3.8.14。
发布于 2020-09-04 10:51:32
我以前也遇到过这种情况。这是造成它的原因,以及我是如何修复它的:
这是其中一个命令,它需要神奇的单词sudo (即它需要一个超级用户特权)。如果忘记将sudo添加到命令中,它将开始进程,但当遇到超级用户专用的路障时会失败。这给你留下了一个不完整的过程。现在,当您决定添加sudo时,它再次尝试相同的进程,但是发现没有正确特权的人已经造成了混乱,或者仍然在乱搞。然后,解决方案将是取消任何第一个命令已经启动,然后再试。
sudo lsof -i :25672此列表列出了端口25672的详细信息。
您将看到PID (进程ID),例如g 1301。
然后通过以下方式停止该端口上的进程:
sudo kill <PID>例如,sudo kill 1301 ,并确保您正在杀死正确的进程,如果没有,您可能会陷入麻烦。
现在,用sudo重试这个命令。
sudo rabbitmq-server还有,
在大多数情况下,发生此错误的原因是,即使在重新启动系统之后,也会继续运行,而不会故意停止rabbitmq服务器。
https://stackoverflow.com/questions/63263177
复制相似问题