Rabbitmq 兔与鼠兔

Rabbitmq 兔与鼠兔,rabbitmq,pika,Rabbitmq,Pika,我使用的是python库pika,用于rabbitmq。 RabbitMq运行并侦听0.0.0.0:5672,我尝试从另一台服务器连接到他,但出现异常: socket.timeout:超时 Python代码使用来自官方文档RabbitMQHello,World 我正在尝试禁用iptables。 但是,如果我使用主机localhost运行脚本,那么一切都很好。 My/etc/rabbitmq/rabbitmq.config [ {rabbit, [ {tcp_listeners,[{"

我使用的是python库pika,用于rabbitmq。 RabbitMq运行并侦听0.0.0.0:5672,我尝试从另一台服务器连接到他,但出现异常:

socket.timeout:超时

Python代码使用来自官方文档RabbitMQHello,World 我正在尝试禁用iptables。 但是,如果我使用主机localhost运行脚本,那么一切都很好。 My/etc/rabbitmq/rabbitmq.config

[
  {rabbit, [
    {tcp_listeners,[{"0.0.0.0",5672}]}
  ]}
].
代码:


由于您是从另一台服务器连接的,您应该检查您机器的防火墙设置

您可以发布用于连接到远程rabbit服务器的python客户端代码吗?是否同时关闭客户端和服务器上的iptables?我假设这是Linux,什么发行版?客户端和服务器上的iptables关闭。Debian 7.我在日志文件中发现:用户“user”对vhost“/”的访问被拒绝您的来宾用户在服务器上仍然处于活动状态吗?检查用户的服务器权限。另外,尝试使用来宾密码的来宾用户。我找到答案,我调整对该用户的访问
#!/usr/bin/env python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='192.168.10.150', port=5672, virtual_host='/', credentials=pika.credentials.PlainCredentials('user', '123456')))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)

message = "Hello World!"
channel.basic_publish(exchange='',
                      routing_key='task_queue',
                      body=message,
                      properties=pika.BasicProperties(
                         delivery_mode = 2, # make message persistent
                      ))
print " [x] Sent %r" % (message,)
connection.close()