无法在 Windows 上重新启动 RabbitMQ 服务

无法在 Windows 上重新启动 RabbitMQ 服务

我在 Windows (2012) 服务器上短暂停止了 RabbitMQ。然而,当我尝试重新启动它时,它会在大约 30 秒内再次关闭。

Windows 事件日志包含以下消息:

RabbitMQ:Erlang 机器主动停止。由于 OnFail 设置为忽略,因此服务未重新启动。

RabbitMQ 错误日志包含以下消息:

=ERROR REPORT==== 12-Aug-2013::13:16:59 ===
** Generic server rabbit_web_dispatch_registry terminating 
** Last message in was {add,rabbit_mgmt,
                            [{port,15672}],
                            #Fun<rabbit_web_dispatch.1.31447083>,
                            #Fun<rabbit_mgmt_app.2.5043001>,
                            {[],"RabbitMQ Management"}}
** When Server state == undefined
** Reason for termination == 
** {could_not_start_listener,[{port,15672}],eaddrinuse}

但是,我知道机器上运行的程序很少,并且没有其他程序应该尝试绑定到该端口。

这可能是什么原因造成的?

答案1

如果您重新安装 RabbitMQ 并在将其作为 Windows 服务运行时遇到问题,则解决方法如下:

在 cmd.exe 中,从 rabbit sbin 文件夹运行:

rabbitmq-service.bat remove
rabbitmq-service.bat install
net start rabbitmq

它在 Windows 7 上对我有用。

答案2

该命令netstat -ab可用于查看哪个程序正在使用每个端口。(请注意,这些参数仅适用于 Windows。类似的 Linux 命令是netstat -lp。两个平台都要求用户以管理员身份执行这些命令。)

在这种情况下,我打开了一个 Google Chrome 窗口,进入 RabbitMQ 管理控制台 ( http://localhost:15672/),而 Chrome 不知何故一直在使用这个端口。关闭浏览器选项卡后,我就可以启动 RabbitMQ 了。

答案3

停止 RabbitMQ 服务,进入 C:\RabbitMQ\rabbit@XXXXXX-mnesia\ 文件夹。如果文件恢复目录为 0kb,请备份并删除它,然后重新启动 RabbitMQ。这应该会重新创建一个新的恢复目录其大小为 6kb 或更大。

相关内容