客户端无法连接到localhost上的RabbitMQ服务器(Client can't connect to RabbitMQ server on localhost)

编程入门 行业动态 更新时间:2024-10-28 22:25:21
客户端无法连接到localhost上的RabbitMQ服务器(Client can't connect to RabbitMQ server on localhost)

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

[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(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

我做错了吗?

UPD: sudo netstat -nlp | grep 5672 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}

我试图将localhost更改为ip6-localhost ,有时在尝试启动使用者时,它会返回:

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

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

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

There is status of working server:

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.

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

And etc/hosts is OK.

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

Whay I'm doing wrong?

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

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}

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 If I start consumer with debug flag and --env=prod (php .../app/console rabbitmq:consumer -w -d consumer_name), consumer starts and working.

最满意答案

如果在rabbitmq服务器上未打开必要的端口,则在客户端尝试连接时会出现“无路由到主机”错误。

要修复它,请确保端口已打开,如果没有,请打开它们:

sudo iptables -I INPUT -p tcp --dport 5672 --syn -j ACCEPT sudo iptables -I INPUT -p tcp --dport 5673 --syn -j ACCEPT sudo iptables -I INPUT -p tcp --dport 15672 --syn -j ACCEPT

这在时间上确定了它。 使用iptables永久设置它。

sudo vi /etc/sysconfig/iptables

然后重启:

sudo service iptables restart

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.

更多推荐

本文发布于:2023-07-28 23:20:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1310093.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:连接到   客户端   服务器   localhost   RabbitMQ

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!