客户端无法连接到本地主机上的 RabbitMQ 服务器 [英] Client can't connect to RabbitMQ server on localhost

查看:141
本文介绍了客户端无法连接到本地主机上的 RabbitMQ 服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过 apt-get 在 ubuntu 12.04.2 LTS 上安装了新的 RabbitMQ 3.1.3,并尝试在同一台服务器上启动消费者,但我有连接问题:

I installed fresh RabbitMQ 3.1.3 on ubuntu 12.04.2 LTS by apt-get, and try to start consumers on the same server, but I have connection problem:

[PhpAmqpLib\Exception\AMQPRuntimeException]         
Error Connecting to server(113): No route to host

有工作服务器的状态:

Status of node rabbit@ns1 ...
[{pid,2106},
 {running_applications,[{rabbit,"RabbitMQ","3.1.3"},
                        {mnesia,"MNESIA  CXC 138 12","4.5"},
                        {os_mon,"CPO  CXC 138 46","2.2.7"},
                        {xmerl,"XML parser","1.2.10"},
                        {sasl,"SASL  CXC 138 11","2.1.10"},
                        {stdlib,"ERTS  CXC 138 10","1.17.5"},
                        {kernel,"ERTS  CXC 138 10","2.14.5"}]},
 {os,{unix,linux}},
 {erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:30] [kernel-poll:true]\n"},
 {memory,[{total,27728944},
          {connection_procs,2704},
          {queue_procs,5408},
          {plugins,0},
          {other_proc,9021680},
          {mnesia,60016},
          {mgmt_db,0},
          {msg_index,31144},
          {other_ets,770736},
          {binary,1968},
          {code,14560395},
          {atom,1356081},
          {other_system,1918812}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,1262847590},
 {disk_free_limit,1000000000},
 {disk_free,214706556928},
 {file_descriptors,[{total_limit,924},
                    {total_used,3},
                    {sockets_limit,829},
                    {sockets_used,1}]},
 {processes,[{limit,1048576},{used,125}]},
 {run_queue,0},
 {uptime,1265}]
...done.

我对 iptables(端口)没有任何限制:

I don't have any limitations by iptables (ports):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

而且 etc/hosts 没问题.

127.0.0.1 localhost
{IP-ADDRESS} ns1.***.org  ns1
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我做错了什么?

更新:sudo netstat -nlp |grep 5672 返回:tcp6 0 0 ::::5672 ::* LISTEN 2106/beam.smp

来自rabbitMQ日志:

From rabbitMQ logs:

=INFO REPORT==== 2-Jul-2013::16:05:11 ===
started TCP Listener on [::]:5672

=INFO REPORT==== 2-Jul-2013::16:05:11 ===
Server startup complete; 0 plugins started.

=INFO REPORT==== 2-Jul-2013::16:35:04 ===
accepting AMQP connection <0.1130.0> (127.0.0.1:44112 -> 127.0.0.1:5672)

=ERROR REPORT==== 2-Jul-2013::16:35:14 ===
closing AMQP connection <0.1130.0> (127.0.0.1:44112 -> 127.0.0.1:5672):
{handshake_timeout,handshake}

我尝试将 localhost 更改为 ip6-localhost 有时尝试启动消费者时,它返回:

I tried to change localhost to ip6-localhost and sometimes when try to starting consumer, it returns:

[PhpAmqpLib\Exception\AMQPRuntimeException]             
Error Connecting to server(110): Connection timed out

UPD2 如果我使用调试标志和 --env=prod (php .../app/console rabbitmq:consumer -w -dconsumer_name),消费者开始工作.

UPD2 If I start consumer with debug flag and --env=prod (php .../app/console rabbitmq:consumer -w -d consumer_name), consumer starts and working.

推荐答案

问题已修复,将侦听地址从 0.0.0.0:5672 重新配置为 127.0.0.1:5672,并在操作系统中进行了一些小的安全修复.

Problem was fixed with reconfiguring listen address from 0.0.0.0:5672 to 127.0.0.1:5672 and small security fixes in OS.

这篇关于客户端无法连接到本地主机上的 RabbitMQ 服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆