我正在尝试使用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
,但什么也没有得到。
我对这些东西不太了解,所以如果你需要什么,请告诉我。
8条答案
按热度按时间lrpiutwd1#
请尝试:
sudo lsof -i :25672
sudo kill <PID>
个sudo rabbitmq-server
其中,
<PID>
是占用端口25672的进程IDyqkkidmi2#
我遇到过这个问题。我发现这个问题是因为rabbitmq服务器已经在机器上运行了。
我使用了以下命令
rabbitmqctl.bat status
来了解rabbitmq服务器的状态。这有助于我了解服务器是打开还是关闭。如果它是启动的,这可能是您在帖子中指定的错误的原因。
您可以发出以下命令来关闭服务器
兔子mqctl.bat停止
现在,您可以尝试通过发出以下命令来启动rabbitmq-server
rabbitmq-服务器启动
请注意,我使用的是Windows。我已经通过将命令提示符指向
C:\Program Files\RabbitMQ\rabbitmq_server-3.8.14\sbin
来执行这些命令,因为我的rabbitmq安装目录是C:\Program Files\RabbitMQ\rabbitmq_server-3.8.14
。gab6jxml3#
我以前遇到过这种情况。下面是导致这种情况的原因以及我如何解决它:
这是其中一个命令,它需要神奇的单词***sudo***(即它需要超级用户权限)。如果您忘记在命令中添加***sudo***,它会开始执行该进程,但在遇到仅限超级用户使用的障碍时会失败。这会使您的进程不完整。现在,当您决定添加***sudo***时,它会再次尝试相同的过程,但发现某个没有权限的人已经把事情搞得一团糟或者还在捣乱。
您将看到PID(进程ID),例如1301
然后使用以下命令停止该端口上的进程:
例如,
sudo kill 1301
并确保终止的进程正确,否则可能会遇到麻烦。现在,使用***sudo***重试该命令:
另外,
在大多数情况下,发生此错误的原因是没有故意停止 rabbitmq-server,***它总是保持运行***即使在您重新启动系统后。
uqdfh47h4#
另一种停止rabitmq服务器的方法是windows+R然后输入“services.msc”然后找到rabitmq. slect并从左上角停止。然后重新运行你的rabitmq服务器。
fae0ux8s5#
rabbitmq-server
。为了实现后者,我遇到了一个类似的错误,并通过定义以下内容解决了该错误:导出RABBITMQ_DIST_PORT=除_25672之外的任何值
如文档中所述:
https://www.rabbitmq.com/networking.html#epmd-inet-dist-port-range
m4pnthwp6#
如果你正在使用windows到任务管理器并停止rabbitmq从运行...然后重新加载rabbitmq-服务器
y1aodyip7#
对于
Linux
,其他人已回答,但在Windows
中,您应按Ctrl+Alt+delete
并选择task management
,最后根据erlang
进行处理。请注意,它需要
Administrator
权限。现在输入以下命令启动rabbitmq-server
:rabbitmq-服务器启动
每次你重新启动你的计算机你应该做这些步骤。为防止再次做这些你应该停止rabbitmq服务从
startup services
。knpiaxh18#
我在windows中遇到了同样的问题,它在安装后已经作为一个服务运行,所以只需从rabbitmq命令行输入如下代码来启用插件
而不是转到本地主机:15672,然后就可以开始了。