今天简单研究了一下 RabbitMQ,由于在 Windows 下安装较麻烦,还要先安装 ErLang 环境,感觉很不爽,于是决定在 WSL 中安装试试,sudo apt install rabbitmq-server,基本上可以说是一切顺利,sudo rabbitmq-server 启动了服务,sudo rabbitmq-plugins enable rabbitmq_management 启用了控制台插件,然后通过 http://127.0.0.1:15672,输入账号密码 guest/guest 访问一切正常!
然后用程序连接就开始出症了,怎么都连不上,看错误像是端口号不正确,但反复核对了,也没有发现问题,端口号确保无误。经历了半下午的研究,才终于在 stackoverflow 上找到答案,原来是 rabbitmq 这货在 WSL 中启动时默认只绑定 IPv6 的地址,简直巨坑!按帖子内容 sudo vim /etc/rabbimq/rabbitmq.conf,添加了配置项 listeners.tcp.default = 127.0.0.1:5672,重启服务,终于可以通过程序正常连接了!
注意:sudo rabbitmqctl status 必须能看到 “Interface: 127.0.0.1, port: 5672, ...” 这样的地址才算正常,如果是 “Interface: [::], port: 5672, ...” 这样的地址,表示只绑定了 IPv6
参考地址:https://stackoverflow.com/questions/49285088/rabbitmq-accepting-connections-but-closing-them-before-accepting-any-input
标签:0.1,sudo,WSL,rabbitmq,5672,RabbitMQ,关于 From: https://www.cnblogs.com/rangeon/p/17004545.html