随笔一:阿里云centos7.x下tomcat启动正常但8080端口无法访问的问题

  先说一下本人的使用背景,前两天完成一个java项目部署到阿里云服务器(tomocat端口是默认的8080),在阿里云中配置了自己的安全组策略,如下图显示.但是在本地访问项目地址显示访问超时,琢磨了很久才发现阿里云的防火墙阻止了外网对8080端口的访问(之前做PHP项目直接在安全组开个端口就OK了)。一开始的临时解决方案是关闭防火墙,后来研究了一下阿里云centos7的防火墙,写下这篇随笔作为总结。

  

  一:访问项目首先要将打包好的war包放到tomcat的webapp目录下(war包的打包流程日后总结),然后就是启动tomcat服务(到bin目录下使用:sh startup.sh 命令启动,关闭使用 sh shutdown.sh 命令,这里注意:关闭后要把对应的进程杀掉,不然为再次启动后原来的进程还会在,造成内存的大量消耗),到这里为止是阿里云java项目的正常部署就结束了,如果项目能通过外网正常访问那么部署结束!如果不能则进行第二步操作。

  二:阿里云防火墙之firewalld,阿里云centos7防火墙服务默认是firewalld来管理的,而firewalld没有对8080端口开放,所以我们要进行firewalld的开放。

    (一)、第一部是登录阿里云服务器,使用firewall-cmd --list-ports命令来查看firewalld已开放的端口(这里看到8080端口已经开放)

        

    (二)、如果没有开放,使用firewall-cmd --zone=public --add-port=8080/tcp --permanent开放8080端口,其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效。

        

    (三)、重启防火墙

        

    

    (四)、打开外部浏览器,输入对应链接即可显示tomcat页面,到这里所有操作就已经全部结束

  三:阿里云防火墙之iptables,centos7之前都是iptables来管理防火墙的,这里如果没必要再去下载安装,直接使用firewalld即可,写到这里,着重说一下自己当时遇到的一些问题,如果启动了iptables(systemctl restart iptables),

    

    则firewalld防火墙会被锁定,这时是通过(systemctl start firewalld)命令启fireworlld会报unit is masked的错误,

    

    需要先使用(systemctl unmask firewalld)解锁,

    

    解锁完了就可以正常使用firewalld了。这里我猜测一下,一个系统只能由一个服务来做防火墙,如果启动了一个,另外一个就会被锁定。

 

 

 

 

 

 

     

 

 

posted @ 2019-09-02 14:17  追求的代码人  阅读(3414)  评论(0编辑  收藏  举报