RabbitMQ はどのポートを使用していますか?
デフォルト: 5672、マニュアルに答えがあります。RABBITMQ_NODE_PORT
変数で定義されています。
https://www.rabbitmq.com/configure.html#define-environment-variables
数は、rabbitmq 構成ファイルで誰かが変更した場合、異なる場合があります。
vi /etc/rabbitmq/rabbitmq-env.conf
それが見えるかどうかnmapに尋ねます:
sudo nmap -p 1-65535 localhost
Starting Nmap 5.51 ( http://nmap.org ) at 2014-09-19 13:50 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00041s latency).
PORT STATE SERVICE
443/tcp open https
5672/tcp open amqp
15672/tcp open unknown
35102/tcp open unknown
59440/tcp open unknown
ほら、5672と15672
それが見えるかどうか netstat に尋ねます:
netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN
tcp 0 0 :::5672 :::* LISTEN
ああ、5672を見てください。
lsof でポートを表示:
eric@dev ~$ sudo lsof -i | grep beam
beam.smp 21216 rabbitmq 17u IPv4 33148214 0t0 TCP *:55672 (LISTEN)
beam.smp 21216 rabbitmq 18u IPv4 33148219 0t0 TCP *:15672 (LISTEN)
別のマシンから nmap を使用し、5672 が開いているかどうかを調べます。
sudo nmap -p 5672 10.0.1.71
Starting Nmap 5.51 ( http://nmap.org ) at 2014-09-19 13:19 EDT
Nmap scan report for 10.0.1.71
Host is up (0.00011s latency).
PORT STATE SERVICE
5672/tcp open amqp
MAC Address: 0A:40:0E:8C:75:6C (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
telnet を使用して手動でポートに接続してみてください。5671 は閉じています:
telnet localhost 5671
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet を使用して手動でポートに接続してみてください。5672 は開いています:
telnet localhost 5672
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ファイアウォールを確認します。
sudo cat /etc/sysconfig/iptables
どのポートが開いているかがわかります。
-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
ファイアウォールを再適用します。
sudo service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]