我目前正在关注rabbitmq教程并遇到问题。无论我如何接近教程,我在尝试运行send.py和receive.py时都会遇到此错误:
<
这是send.py:
pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: [Errno 61] Connection refused
这是receive.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()
我不能为我的生活弄清楚我做错了什么。我看过这里的其他帖子,提出类似的问题,但仍然没有骰子。
答案 0 :(得分:2)
我使用了似乎相同的教程,但是他们确实错过了安装和运行Rabbitmq的依赖
先完成brew install rabbitmq
然后brew services start rabbitmq
到Pika上的localhost的连接,
答案 1 :(得分:1)
你使用docker来运行你的rabbitmq吗?如果是,我建议你仔细检查端口绑定。例如:-p 5672:5672
答案 2 :(得分:0)
如果您使用docker运行rabbitmq,并按照教程和docker页面(https://github.com/docker-library/docs/tree/master/rabbitmq)中的说明进行操作,则可能会遇到此问题。当您在未指定端口映射选项(“ -p”)的情况下运行容器时,端口绑定仅在容器内有效。您可以通过在容器中执行“ docker exec”然后运行netstat进行验证。
因此,您要做的是重新启动rabbitmq容器并指定端口映射。例:
docker run -d --hostname我的兔子--name some-rabbit -p 5672:5672 rabbitmq:latest