【问题标题】:RabbitMQ and PikaRabbitMQ 和 Pika
【发布时间】:2014-05-21 00:28:07
【问题描述】:

我正在使用 python lib pika,fow 与 rabbitmq 一起使用。 RabbitMq 正在运行并听 0.0.0.0:5672,我尝试从另一台服务器连接到他,但出现异常:

socket.timeout:超时

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

[
  {rabbit, [
    {tcp_listeners,[{"0.0.0.0",5672}]}
  ]}
].

代码:

#!/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()

【问题讨论】:

  • 你能贴出你用来连接远程rabbit服务器的python客户端代码吗?您是否在客户端和服务器上都关闭了 iptables?我假设这是 Linux,什么发行版?
  • iptables 在客户端和服务器上关闭。 Debian 7.
  • 我在日志文件中发现:用户 'user' 拒绝访问 vhost '/'"
  • 服务器上的访客用户是否仍处于活动状态?检查user 的服务器权限。否则,请尝试 guest 用户使用 guest 密码。
  • 我找到答案,我调整对用户的访问权限

标签: rabbitmq pika


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多