RabbitMQ接受连接,但在接受任何输入之前关闭连接
所以我刚刚安装了rabbitmq的最新版本,我一直在努力让它正常工作。服务器正在运行,我已经重新启动了一次,只是为了确保这是一个一致的问题 如果我RabbitMQ接受连接,但在接受任何输入之前关闭连接,rabbitmq,windows-subsystem-for-linux,Rabbitmq,Windows Subsystem For Linux,所以我刚刚安装了rabbitmq的最新版本,我一直在努力让它正常工作。服务器正在运行,我已经重新启动了一次,只是为了确保这是一个一致的问题 如果我telnet localhost 5672,我会 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. 如您所见,连接已被接受,但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子系统上运行的。对于本地开发环境,我没有任何其他选择,因为我在一台工作计算机上,这台计算机被紧紧锁定。Telnet允许您确认系统正在侦听并允许传入连接。 但即使是RabbitMQ的“开箱即用”安装也需要连接的凭据
rabbitmqctl列出用户
,查看配置了哪些用户
如果客人在场,典型的信誉是客人/客人
安装管理插件(或确认已安装),
或者编写测试脚本,大多数语言都有一个包可用于连接RabbitMQ。我遇到了同样的问题,在Windows和RabbitMQ 3.7.8上使用Ubuntu(16.04)作为子系统。我注意到,当运行
sudo rabbitmqctl status
时,侦听器显示以下内容:
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}
我通过创建rabbitmq配置文件并指定localhost和端口5762修复了此问题
这是我一步一步做的
sudo vim /etc/rabbimq/rabbitmq.conf
listeners.tcp.default = 127.0.0.1:5672
sudo服务rabbitmq服务器停止
然后
sudo服务rabbitmq服务器启动
sudo rabbitmqctl status
并查看侦听器,您应该会看到指定了localhost ip的新tcp侦听器
{listeners,[{clustering,25672,“::”},{amqp,5672,127.0.0.1}]}以下是rabbitmq提供的示例,可能有助于澄清其中一些步骤。我理解这一点。事实上,Telnet只是建立TCP连接,rabbitmq会立即关闭该连接,因此甚至没有时间进行身份验证。Telnet命令正在尝试使用rabbitmq不支持的Telnet协议连接到rabbitmq。因此,无法通过此工具正确测试连接。如果您需要测试连接,请查看一个python库,并通过该库从python进行测试。