简体   繁体   English

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

[英]Why can't I establish connection to rabbitMQ using python?

I'm learning how to use rabbitMQ. 我正在学习如何使用rabbitMQ。 I'm running the rabbit-MQ server on my MacBook and trying to connect with a python client. 我正在MacBook上运行rabbit-MQ服务器并尝试连接python客户端。 I followed the installation instructions here . 我按照安装说明操作这里 And now I'm performing the tutorial shown here . 现在我正在执行此处显示的教程。

The tutorial says to run this client: 教程说要运行这个客户端:

#!/usr/bin/env python
import pika

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

However, when I do, I get the following error while trying to establish the connection: 但是,当我这样做时,我在尝试建立连接时收到以下错误:

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

As you can see rabbitmq-server seems to be running fine in a different window: 正如您所见,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

How can I establish this connection? 我该如何建立这种联系? What is the problem? 问题是什么?

The client is trying to connect using IPv6 localhost ( ::1:5672 ), while the server is listening to IPv4 localhost ( {"127.0.0.1",5672} ). 客户端尝试使用IPv6 localhost( ::1:5672 )进行连接,而服务器正在侦听IPv4 localhost( {"127.0.0.1",5672} )。

Try changing the client to connect to the IPv4 localhost instead; 尝试更改客户端以连接到IPv4 localhost;

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM