Pika / RabbitMQ连接问题 - 运行VMWare CentOS 6.3

时间:2013-03-06 06:58:56

标签: python centos rabbitmq vmware pika

我刚刚建立了一个新的CentOS 6.3 VMWare安装。互联网正在运作,一切看起来都很实用。

我正在尝试使用RabbitMQ,但我在他们的教程的第1步遇到了困难:

http://www.rabbitmq.com/tutorials/tutorial-one-python.html

基本上,我:

  1. 设置Linux实例
  2. 安装了RabbitMQ的所有依赖项,例如erlang / esel
  3. 尝试他们的Hello World教程
  4. 实际上在这条线上失败了:

    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 个答案:

答案 0 :(得分:3)

[RST, ACK]序列看起来像是被拒绝的连接,但可能会产生误导。我假设在安装后,rabbitmq服务正确启动,你可以运行rabbitmqctl status并获得一个明智的结果?如果它没有运行,那么您可能需要先/sbin/service rabbitmq-server start

假设您已经运行了代理,接下来我建议打开RabbitMQ日志 - 如果您不确定位置,请咨询the relevant documentation - 查看是否允许连接。如果未记录连接(并且您没有修改日志级别),那么您所看到的可能是某些其他软件(例如防火墙,iptables等)阻止了连接。