gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:21:45 32 4
gpt4 key购买 nike

我通过 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(端口)的任何限制:

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 日志:

=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), consumer 开始工作。

最佳答案

如果 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

关于php - 客户端无法连接到本地主机上的 RabbitMQ 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17426899/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com