【问题标题】:RabbitMq Connection to 127.0.0.1:5672 FailedRabbitMq 连接到 127.0.0.1:5672 失败
【发布时间】:2018-03-20 21:10:52
【问题描述】:

我目前正在关注 rabbitmq 教程并遇到了问题。无论我多么接近本教程,我在尝试运行我的 send.py 和 receive.py 时都会收到此错误:

pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: [Errno 61] Connection refused

这是 send.py:

#!/usr/bin/env python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='',
                      routing_key='hello',
                      body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()

这是receive.py:

#!/usr/bin/env python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

channel.basic_consume(callback,
                      queue='hello',
                      no_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

我终其一生都无法弄清楚我做错了什么。我看过这里的其他帖子提出了类似的问题,但仍然没有骰子。

【问题讨论】:

  • 你用/etc/init.d/rabbitmq-server status检查过服务器的状态
  • 您的桌面上是否安装并运行了 RabbitMQ 服务器?

标签: python rabbitmq pika


【解决方案1】:

我似乎使用了相同的教程,但他们确实错过了安装和运行 rabbitmq 的依赖项

在完成brew install rabbitmqbrew services start rabbitmq 之后,Pika 上的 localhost 连接就可以工作了

【讨论】:

    【解决方案2】:

    如果您使用 docker 运行 rabbitmq 并按照教程和 docker 页面 (https://github.com/docker-library/docs/tree/master/rabbitmq) 中的说明进行操作,您可能会遇到此问题。当您在未指定端口映射选项(“-p”)的情况下运行容器时,端口绑定将仅在容器内有效。您可以通过在容器中执行“docker exec”然后运行 ​​netstat 来进行验证。
    所以你想要做的是重新启动rabbitmq容器并指定一个端口映射。例子: docker run -d --hostname my-rabbit --name some-rabbit -p 5672:5672 rabbitmq:latest

    【讨论】:

    • 我不知道为什么这之前没有被标记——对我有用!我删除了我的“some-rabbit”容器,执行了这个命令,并在我的 python 代码 5672 中更改了端口。Bingo!
    【解决方案3】:

    您是否使用 docker 来运行您的 rabbitmq?如果是,我建议您仔细检查端口绑定。例如:-p 5672:5672

    【讨论】:

    • 我使用的教程没有提到任何关于使用 docker 的内容。
    • 所以我不知道。当我使用 docker 在本地运行 rabbit 时,我遇到了同样的问题:hub.docker.com/_/rabbitmq
    • 是的,我似乎这是一个非常难以捉摸的问题。至少对我来说。
    猜你喜欢
    • 2021-01-13
    • 2020-03-06
    • 2017-05-23
    • 2023-03-18
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2020-12-30
    相关资源
    最近更新 更多