为什么我不能使用python建立与rabbitMQ的连接?

时间:2014-06-08 06:55:41

标签: python rabbitmq

我正在学习如何使用rabbitMQ。我正在MacBook上运行rabbit-MQ服务器并尝试连接python客户端。我按照安装说明here进行了操作。现在我正在执行显示here的教程。

教程说要运行这个客户端:

#!/usr/bin/env python
import pika

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

但是,当我这样做时,在尝试建立连接时出现以下错误:

WARNING:pika.adapters.base_connection:Connection to ::1:5672 failed: [Errno 61] Connection refused

正如您所见,rabbitmq-server似乎在另一个窗口中正常运行:

  % rabbitmq-server

              RabbitMQ 3.3.1. Copyright (C) 2007-2014 GoPivotal, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /usr/local/var/log/rabbitmq/rabbit@localhost.log
  ######  ##        /usr/local/var/log/rabbitmq/rabbit@localhost-sasl.log
  ##########
              Starting broker... completed with 10 plugins.



  % ps -ef | grep -i rabbit
  973025343 37253     1   0  2:47AM ??         0:00.00 /usr/local/Cellar/rabbitmq/3.3.1/erts-5.10.3/bin/../../erts-5.10.3/bin/epmd -daemon
  973025343 37347   262   0  2:49AM ttys001    0:02.66 /usr/local/Cellar/rabbitmq/3.3.1/erts-5.10.3/bin/../../erts-5.10.3/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/local/Cellar/rabbitmq/3.3.1/erts-5.10.3/bin/../.. -progname erl -- -home /Users/myUser -- -pa /usr/local/Cellar/rabbitmq/3.3.1/ebin -noshell -noinput -s rabbit boot -sname rabbit@localhost -boot /usr/local/Cellar/rabbitmq/3.3.1/releases/3.3.1/start_sasl -kernel inet_default_connect_options [{nodelay,true}] -rabbit tcp_listeners [{"127.0.0.1",5672}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/usr/local/var/log/rabbitmq/rabbit@localhost.log"} -rabbit sasl_error_logger {file,"/usr/local/var/log/rabbitmq/rabbit@localhost-sasl.log"} -rabbit enabled_plugins_file "/usr/local/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/local/Cellar/rabbitmq/3.3.1/plugins" -rabbit plugins_expand_dir "/usr/local/var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/usr/local/var/lib/rabbitmq/mnesia/rabbit@localhost" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672

如何建立此连接?有什么问题?

1 个答案:

答案 0 :(得分:18)

客户端正在尝试使用IPv6 localhost(::1:5672)进行连接,而服务器正在侦听IPv4 localhost({"127.0.0.1",5672})。

尝试更改客户端以改为连接到IPv4 localhost;

connection = pika.BlockingConnection(pika.ConnectionParameters('127.0.0.1'))