美文网首页软件测试学习之路
Linux下Tomcat启动正常,但浏览器无法访问Tomcat

Linux下Tomcat启动正常,但浏览器无法访问Tomcat

作者: 乘风破浪的姐姐 | 来源:发表于2018-05-25 13:07 被阅读5次

    问题:
    虚拟机上安装centOS7,配置Tomcat并成功启动。但是在浏览器里却无法访问Tomcat 8080端口。
    tomcat的配置,请参考文章:Linux-CentOS7 配置 Tomcat
    原因:
    因为CentOS 7或RHEL 7或Fedora,默认防火墙是由firewalld来管理,而firewalld没有对8080端口开放,所以进行8080端口开放配置。
    CentOs 7 之前的版本,由iptables控制Linuxs的端口。
    CentOS升级到7之后,无法使用iptables控制Linuxs的端口,因为是Centos 7使用firewalld代 替了原来的iptables。

    以下提供两种方式解决该问题。

    解决方案一,还原传统的iptables管理方式。

    1、执行命令设置firewalld
    systemctl stop firewalld
    systemctl mask firewalld

    image.png

    2、安装iptables-services
    执行命令:yum install iptables-services


    image.png

    如果不安装,直接执行iptables相关命令会报错:
    Failed to stop iptables.service: Unit iptables.service not loaded.

    3、关闭防火墙
    执行命令:systemctl stop iptables

    4、编辑 vi /etc/sysconfig/iptables
    添加以下内容并保存退出:

    #允许8080端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
    #允许3306端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    #允许9904端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 9904 -j ACCEPT
    
    image.png

    5、重启防火墙
    执行命令:systemctl restart iptables

    6、打开外部浏览器,输入http://centOS IP:8080
    即可看到Tomcat欢迎界面!

    image.png
    解决方案二,firewalld 进行8080端口开放配置

    1、在firewalld 上开放8080端口
    输入命令:
    firewall-cmd --zone=public --add-port=8080/tcp --permanent

    命令解析:
    --zone #作用域
    --add-port=8080/tcp #添加端口,格式为:端口/通讯协议
    --permanent #永久生效,没有此参数设置,重启后会失效。

    2、重启防火墙
    输入命令:firewall-cmd --reload


    image.png

    3、打开外部浏览器,输入http://centOS IP:8080,即可看到Tomcat欢迎界面!

    相关文章

      网友评论

        本文标题:Linux下Tomcat启动正常,但浏览器无法访问Tomcat

        本文链接:https://www.haomeiwen.com/subject/vkwyjftx.html