为什么我不能使用 python 建立到 rabbitMQ 的连接?
问题描述
我正在学习如何使用rabbitMQ.我在我的 MacBook 上运行 rabbit-MQ 服务器并尝试连接 python 客户端.我按照这里的安装说明进行操作.现在我正在执行这里所示的教程一个>.
I'm learning how to use rabbitMQ. I'm running the rabbit-MQ server on my MacBook and trying to connect with a python client. 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
如您所见,rabbitmq-server 似乎在不同的窗口中运行良好:
As you can see rabbitmq-server seems to be running fine in a different window:
% 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?
解决方案
客户端尝试使用 IPv6 localhost (::1:5672
) 进行连接,而服务器正在侦听 IPv4 localhost ({"127.0.0.1",5672}
).
The client is trying to connect using IPv6 localhost (::1:5672
), while the server is listening to IPv4 localhost ({"127.0.0.1",5672}
).
尝试将客户端改为连接到 IPv4 localhost;
Try changing the client to connect to the IPv4 localhost instead;
connection = pika.BlockingConnection(pika.ConnectionParameters('127.0.0.1'))
相关文章