SpringBoot连接RabbitMQ时一直显示Socket Closed或者An unexpected connection driver error occured,但是能正常访问web管理台

  • Post author:
  • Post category:其他





问题:

在使用

SpringBoot



连接

虚拟机或者远程主机的

RabbitMQ

时,出现了

一直报错超时

,报错 Socket Closed 或者 An unexpected connection driver error occured。




解决方案:


第一步

:开启rabbitmq服务后,先用浏览器访问rabbitmq的web管理界面

http://192.168.75.129:15672

,如果不能访问成功,进入第二步,能成功访问但是速度很慢直接进入第四步;


第二步

:查看虚拟机的防火墙,自己是不是开放了

5672、15672、25672

这三个rabbitmq的默认端口,如果已经开放了,直接进入第三步,未开放可以使用以下命令进行开放;

查看命令:service iptables status
开放端口:vim /etc/sysconfig/iptables
		在文件中插入:
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 25672 -j ACCEPT


Tips:

  1. vim的几个快捷键:在命令模式下[yy复制一行, dd剪切一行,p粘贴]
  2. 文章中涉及到的系统是CentOS6.5,有些命令是跟CentOS7有区别的,比如防火墙等。


第三步

:rabbitmq默认的guest账户是不能进行远程访问的,可以通过修改配置让guest账户能进行远程访问,也可以直接

创建一个可以远程访问的账户

;(这里我选择第二种)

创建用户:(zhangsan)
rabbitmqctl add_user zhangsan 123456
设置用户角色:
rabbitmqctl set_user_tags zhangsan administrator
设置权限:
rabbitmqctl  set_permissions -p "/" zhangsan ".*" ".*" ".*"


第四步

:如果前面几步完了之后还是出现web管理台能访问,但是访问速度慢,并且SpringBoot无法连接rabbitmq的话,想想自己是不是修改过虚拟机的注解名,这时只需要在虚拟机中修改hosts文件对地址的映射就行了。

在这里插入图片描述
修改了配置文件后,使用

source /etc/profile

使配置文件失效即可,不用重启。



版权声明:本文为weixin_44398687原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。