访问CentOS下的RabbitMQ产生超时问题的解决

问题展示

E:\java-install\jdk1.8.0_181\bin\java.exe -javaagent:C:\app-
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:47)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:884)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:839)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:797)
	at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:930)
	at com.mq.rabbit.quickstart.Consumer.main(Consumer.java:25)

Process finished with exit code 1

问题原因

可以连接上虚拟中的可视化界面,这个端口是15672。

但是就是代码无法访问到远程上mq,出现连接超时的问题!!!!

解决办法

如果远程上的可视化界面也无法访问,那就要配置一下防火墙的配置文件。

同样代码出现的这种连接超时问题,也是因为防火墙的原因照成的。

当我们在使用window下的浏览器,以及使用代码进行访问远程上的rabbitmq,或被防火墙拦截。导致连接超时。

一、查看防火墙状态:

[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

目前的防火墙是关闭的

二、启动RabbitMQ和查看启动的状态

#启动rabbitmq
[root@localhost ~]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

#查看rabbitmq是否启动成功
[root@localhost ~]# rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,1351},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.7.5"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.5"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.5"},

三、配置防火墙配置文件,放行15672和5672端口号

[root@localhost ~]# vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.21 on Sat Oct 20 17:38:44 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1135:948638]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport  -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Oct 20 17:38:44 2018
~                                                                                                    
"/etc/sysconfig/iptables" 24L, 1208C

操作完需要重启。

效果演示

可视化界面展示

代码访问成功界面展示:

扫描二维码关注公众号,回复: 3716738 查看本文章

消费者启动成功

生产者启动成功

猜你喜欢

转载自blog.csdn.net/wildwolf_001/article/details/83215742
今日推荐