Linux中的ActiveMQ8161端口本机无法访问解决方案
最近在Linux上学习ActiveMQ时,发现在虚拟机或者云服务器上开启的ActiveMQ服务,在本机使用http://ip:8161"
无法访问。在尝试了各种方法后,发现错误并没有我认为的那么复杂。这篇博客也是想让其他人不要走这么多弯路,更为了提醒自己这类错误以后的解决方法。
1. 在Linux环境下,第一点需要注意的就是查看端口是否开放
注意CentOS的版本,版本不同,设置防火墙的shell
语句可能不同,本人使用的语句对应的时ContOS7的firewall
firewall-cmd --list-port #查看开放的端口,如果不包括8161/tcp,则继续执行以下语句
firewall-cmd --zone=public --add-port=8161/tcp --permanent #将端口8161设置为永久生效的公共端口
firewall-cmd --reload #重新加载,使端口生效
如果使用的是阿里云服务器,还需要去安全组中进行设置,在这里就不展开说了
2.在ActiveMQ的配置文件中进行端口设置
如果对Linux的端口进行设置之后还是无法访问,可能还需要对ActiveMQ的配置文件进行设置。
ActiveMQ启动加载的配置文件是activemq.xml,该文件在ActiveMQ的conf目录下。但是需要修改的文件不是activemq.xml,因为文件引用了该目录下的jetty.xml,需要修改该文件中配置的端口,将其设置为0.0.0.0
。
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
这时我的问题已经解决了!你的呢?