Pika/RabbitMQ连接问题 - 运行VMWare CentOS 6.3
我刚在VMWare上安装了一个新的CentOS 6.3系统。网络正常,其他功能也都没问题。
我想尝试一下RabbitMQ,但在他们的教程第一步就卡住了:
http://www.rabbitmq.com/tutorials/tutorial-one-python.html
简单来说,我做了以下几步:
- 设置了Linux系统
- 安装了RabbitMQ所需的所有依赖,比如erlang/esel
- 尝试他们的Hello World教程
实际上,我在这一行出错了:
import pika
pika.BlockingConnection()
我收到这个错误:
> Traceback (most recent call last): File "<stdin>", line 1, in
> <module> File
> "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py",
> line 33, in __init__
> BaseConnection.__init__(self, parameters, None, reconnection_strategy) File
> "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py",
> line 50, in __init__
> reconnection_strategy) File "/usr/lib/python2.6/site-packages/pika/connection.py", line 170, in
> __init__
> self._connect() File "/usr/lib/python2.6/site-packages/pika/connection.py", line 228, in
> _connect
> self.parameters.port or spec.PORT) File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py",
> line 37, in _adapter_connect
> BaseConnection._adapter_connect(self, host, port) File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py",
> line 58, in _adapter_connect
> self.socket.connect((host, port)) File "<string>", line 1, in connect socket.error:
[Errno 111] Connection refused
我尝试了很多解决办法,但似乎没有找到其他人遇到同样问题并发帖讨论的情况。唉,看来我可能是第一个遇到这个问题的人!
不过,目前为止,我觉得我还没有动过RabbitMQ的库,所以这可能只是Pika的问题。
这是我在Wireshark中看到的,关注的是127.0.0.1:
1 0.000000 127.0.0.1 127.0.0.1 TCP 58748 > amqp [SYN] Seq=0 Win=32792 Len=0 MSS=16396 TSV=41371814 TSER=0 WS=6
2 0.000079 127.0.0.1 127.0.0.1 TCP amqp > 58748 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
如果需要,我可以提供更多Wireshark的信息,随时告诉我。
1 个回答
3
[RST, ACK]
这个序列看起来像是连接被拒绝了,但可能会让人误解。我假设在安装后,RabbitMQ服务正常启动了,并且你可以运行rabbitmqctl status
并得到一个合理的结果?如果它没有运行,你可能需要先执行/sbin/service rabbitmq-server start
来启动它。
假设你的消息中间件(broker)正在运行,接下来我建议你查看RabbitMQ的日志。如果你不确定日志的位置,可以参考相关文档,看看连接是否被允许。如果日志中没有记录到连接(而你又没有修改日志级别),那么你看到的情况可能是其他软件(比如防火墙、iptables等)阻止了连接。