所以我刚刚安装了最新版本的rabbitmq,我一直在努力让它工作。服务器正在运行,我已经重新启动了它一次,以确保这是一个一致的问题。
如果我telnet localhost 5672
,我会得到
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
如您所见,连接被接受,但 rabbitmq 不接受任何输入。连接将立即关闭。日志中不会显示更多信息。
rabbitmqctl
工作没有任何问题。
这在 Linux/Ubuntu 的 Windows 子系统上运行。对于本地开发环境,我没有任何其他选择,因为我使用的是被锁定得非常紧的工作计算机。
我遇到了同样的问题,在Windows和rabbitmq 3.7.8上使用Ubuntu(16.04(作为子系统。我注意到在运行sudo rabbitmqctl status
时,侦听器显示以下内容:
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}
我通过创建一个 rabbitmq 配置文件并指定本地主机和端口 5762 来解决此问题
这是我一步一步做的事情。
使用 sudo && vim,我创建了一个 'rabbitmq.conf' 文件,位于/etc/rabbitmq/
sudo vim /etc/rabbimq/rabbitmq.conf
我指定了本地主机(127.0.0.1(和端口(5672(作为默认值rabbitmq.conf 文件中的 TCP 侦听器
listeners.tcp.default = 127.0.0.1:5672
重新启动兔
子sudo service rabbitmq-server stop
然后
sudo service rabbitmq-server start
检查
{sudo rabbitmqctl status
并查看侦听器,您应该会看到新的 TCP 侦听器,其中本地主机 IP 已隔离listeners,[{clustering,25672,"::"},{amqp,5672,"127.0.0.1"}]}
以下是来自 rabbitmq 的配置文档,可能有助于澄清其中一些步骤。
Telnet 允许您确认系统正在侦听并允许传入连接。但即使是 RabbitMQ 的"开箱即用"安装也需要连接凭据。
rabbitmqctl list_users
以查看配置了哪些用户。
如果客人在场,典型的信条是客人/客人
安装管理插件(或确认已安装(,或者编写测试脚本,大多数语言都有一个可用于连接到 RabbitMQ 的软件包。