客户端无法连接到本地主机上的 RabbitMQ 服务器

Qua*_*zer 5 php ubuntu rabbitmq symfony ubuntu-12.04

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

[PhpAmqpLib\Exception\AMQPRuntimeException]         
Error Connecting to server(113): No route to host
Run Code Online (Sandbox Code Playgroud)

有工作服务器的状态:

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.
Run Code Online (Sandbox Code Playgroud)

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

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 
Run Code Online (Sandbox Code Playgroud)

并且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
Run Code Online (Sandbox Code Playgroud)

我为什么做错了?

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

来自rabbitMQ日志:

=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}
Run Code Online (Sandbox Code Playgroud)

我尝试更改localhostip6-localhost,有时当尝试启动消费者时,它会返回:

[PhpAmqpLib\Exception\AMQPRuntimeException]             
Error Connecting to server(110): Connection timed out
Run Code Online (Sandbox Code Playgroud)

UPD2如果我使用调试标志和--env=prod( php .../app/console rabbitmq:consumer -w -d consumer_name) 启动消费者,消费者将启动并工作。

Qua*_*zer 3

通过将侦听地址从 0.0.0.0:5672 重新配置为 127.0.0.1:5672 以及操作系统中的小安全修复,问题得到了解决。