You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ连接127.0.0.1:5672失败求助:运行send/receive.py遇连接拒绝

解决RabbitMQ连接被拒绝(Connection refused)的问题

看起来你遇到了RabbitMQ最常见的连接问题之一——端口5672连接被拒绝。我帮你梳理几个关键排查步骤,按顺序来应该能解决问题:

  • 首先确认RabbitMQ服务是否正在运行
    这是最常见的原因!如果服务没启动,本地肯定连不上。

    • Linux系统:执行sudo systemctl start rabbitmq-server启动服务,再用sudo systemctl status rabbitmq-server检查状态,确保显示active (running)。
    • macOS(用Homebrew安装):执行brew services start rabbitmq启动,brew services list查看状态。
    • Windows系统:可以在「服务」列表里找到RabbitMQ服务手动启动,或者打开命令提示符执行rabbitmq-server start。
  • 检查5672端口是否被其他进程占用
    有时候其他程序会占用RabbitMQ默认的5672端口,导致服务无法监听。

    • Linux/macOS:执行lsof -i :5672,如果返回结果里不是RabbitMQ的进程,就杀掉那个进程(比如kill -9 <进程ID>)。
    • Windows:执行netstat -ano | findstr :5672,找到占用端口的PID,然后在任务管理器里结束对应的进程。
  • 验证RabbitMQ的监听配置
    确保RabbitMQ确实在监听localhost的5672端口:
    查看RabbitMQ的配置文件(比如Linux的/etc/rabbitmq/rabbitmq.conf,macOS的/usr/local/etc/rabbitmq/rabbitmq.conf),确认有类似listeners.tcp.default = 5672的配置,且监听地址是localhost或0.0.0.0(允许本地连接)。如果配置被修改过,改回默认后重启服务。

  • 检查用户权限(尤其是guest用户)
    默认的guest用户只能从localhost访问,但如果权限配置有问题也会导致连接失败:
    执行rabbitmqctl list_user_permissions guest,确保输出里包含/(虚拟主机)、.*(配置权限)、.*(写权限)、.*(读权限)。如果权限不对,可以用rabbitmqctl set_permissions guest ".*" ".*" ".*"重新设置,然后重启服务。

  • 排查本地防火墙设置
    本地防火墙可能阻止了5672端口的连接:

    • Linux:执行sudo ufw allow 5672开放端口,然后重启防火墙。
    • Windows:打开「Windows Defender防火墙」→「高级设置」,添加一条入站规则,允许5672端口的TCP连接。

另外看你的send.py代码片段,逻辑是没问题的——默认连接localhost、声明队列,所以问题大概率出在RabbitMQ的服务状态或环境配置上,按上面的步骤逐一排查应该能解决。

内容的提问来源于stack exchange,提问作者Edsel Norwood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:10:12