2011-08-23 51 views
7

我有箱A和其上有一个消费者,一个兔MQ服务器上侦听绑定外部IP地址兔MQ服务器

我有盒子B将发布一条消息给听者

所以只要所有这些在框A和我启动Rabbit MQ服务器w /默认情况下都可以正常工作。

的默认值是在端口5672的主机= 127.0.0.1,但 当我telnet box.a.ip.addy 5672从箱BI得到:

Trying box.a.ip.addy... 
telnet: connect to address box.a.ip.addy: No route to host 
telnet: Unable to connect to remote host: No route to host 

在端口22上的telnet是好的,我可以ssh到一个盒子从乙栏

所以我假设我需要更改RabbitMQ服务器使用的ip 我发现这个:http://www.rabbitmq.com/configure.html我现在有一个配置文件位于文档中说要使用的名称rabbitmq.config,它包含:

[ 
    {rabbit, [{tcp_listeners, {"box.a.ip.addy", 5672}}]} 
]. 

因此,我停止了服务器,并再次启动RabbitMQ服务器。它失败了。以下是错误日志中的错误。这有点凌驾于我的头上。 (其实大部分是)

=ERROR REPORT==== 23-Aug-2011::14:49:36 === 
FAILED 
Reason: {{case_clause,{{"box.a.ip.addy",5672}}}, 
     [{rabbit_networking,'-boot_tcp/0-lc$^0/1-0-',1}, 
      {rabbit_networking,boot_tcp,0}, 
      {rabbit_networking,boot,0}, 
      {rabbit,'-run_boot_step/1-lc$^1/1-1-',1}, 
      {rabbit,run_boot_step,1}, 
      {rabbit,'-start/2-lc$^0/1-0-',1}, 
      {rabbit,start,2}, 
      {application_master,start_it_old,4}]} 

=INFO REPORT==== 23-Aug-2011::14:49:37 === 
    application: rabbit 
    exited: {bad_return,{{rabbit,start,[normal,[]]}, 
         {'EXIT',{rabbit,failure_during_boot}}}} 
    type: permanent 

,这里是一些从启动日志:

Erlang has closed 
Error: {node_start_failed,normal} 
^M 
Crash dump was written to: erl_crash.dump^M 
Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}}})^M 

请帮

+1

只是为了掩盖这个显而易见的问题:当你从box B成功ssh时,你使用'box.a.ip.addy'吗? –

+0

smh不,我不想透露我的IP地址 – KacieHouser

回答

9

你尝试加入?

RABBITMQ_NODE_IP_ADDRESS = box.a.ip.addy

到/etc/rabbitmq/rabbitmq.conf文件?

http://www.rabbitmq.com/configure.html#customise-general-unix-environment

而且每本文档它指出默认绑定到所有接口。也许在系统中已经设置了一个配置设置或环境变量来限制服务器到本地主机覆盖你做的任何事情。

更新:再次阅读后,我意识到,telnet应该已经返回“拒绝连接”而不是“没有路由到主机”。我也会检查你是否有防火墙相关的问题。

+1

这是一个防火墙相关的问题,iptables只是在端口22,谢谢你:D – KacieHouser

0

您需要打开的TCP端口的防火墙

使用Linux,找到iptables的配置文件:

[email protected] ~$ find/-name "iptables" 2>/dev/null 
/etc/sysconfig/iptables 

编辑文件:

sudo vi /etc/sysconfig/iptables 

修复通过添加一个连接到一个地址:

# Generated by iptables-save v1.4.7 on Thu Jan 16 16:43:13 2014 
*filter 
-A INPUT -p tcp -m tcp --dport 15672 -j ACCEPT 
COMMIT