解决linux中的tomcat启动成功但是在本地访问不到的问题

本文介绍了当Linux上的Tomcat启动成功但无法从本地访问时,如何排查和解决该问题。主要步骤包括检查Tomcat状态、验证启动、测试访问、检查防火墙状态、开启8080端口、重启防火墙以及确认端口生效。此外,还提供了CentOS7关闭和管理防火墙的方法。
摘要由CSDN通过智能技术生成

解决linux中的tomcat启动成功但是在本地访问不到的问题;centos7关闭防火墙

前言
linux中明明启动了tomcat服务器,但是在网页上却打不开,那么十有八九是因为linux防火墙的问题,要么完全关闭防火墙,此时不太安全,要么就是针对某一个端口,设置其越过防火墙的限制。

一 7步解决方案
Step1. 启动tomcat
进入 tomcat 所在的目录的 bin 的文件夹下执行" ./ startup.sh" 命令 启动 tomcat ,如果出现下面这种情况说明 tomcat 启动 成功。

在这里插入图片描述

Step2. 验证 tomcat 是否启动成功
输入" ps -ef|grep tomcat " 命令验证 tomcat 是否启动成功,如果出现下面这种情况说明启动成功。

在这里插入图片描述

Step3: 若启动成功,在linux中输入curl http://192.168.112.130:8080(自己linux的ip)看是否正常访问。

如下则表示正常访问:
在这里插入图片描述

Step4. 检验防火墙是否启动
输入命令 " firewall-cmd --state " 如果出现如图所示的这种情况说明正在运行,如果没有正在运行需要执行命令" systemctl start firewalld "开启防火墙服务

在这里插入图片描述

Step5. 检查8080端口是否被防火墙开启
输入命令" firewall-cmd --permanent --zone=public --list-ports “ 如果终端输出 “8080/tcp” 则说明8080端口被开启

如果没有该输出则需要执行命令" firewall-cmd --zone=public --add-port=8080/tcp --permanent"开启8080端口, 出现" success" 则表示添加成功。

Step6. 重新启动防火墙
输入命令" firewall-cmd --reload" 重新启动防火墙,出现” success“ 字样则表示重新启动成功。

Step7.验证开启的8080端口是否生效

    输入命令” firewall-cmd --zone=public --query-port=8080/tcp“ 验证8080端口是否生效,如果出现 ” yes “字样则代表生效。

此时,重新启动tomcat就可以使用外部浏览器访问centos 中的tomcat啦。

二 补充:Centos7中如何打开和关闭防火墙??
1 防火墙系统为firewall的关闭和打开方式
Centos 7中默认的linux的系统默认防火墙不是iptables,而是firewall,此时应该使用以下方式关闭防火墙了。

(1)关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

(2)开启端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent #设置8080端口越过防火墙的限制

命令含义

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

(3)重启防火墙

systemctl start firewalld "开启防火墙服务

firewall-cmd --reload

其他常用命令:

firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助

更多命令,使用 firewall-cmd --help 查看帮助文件

2 CentOS 7以上默认使用firewall作为防火墙改为iptables
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2、iptables防火墙(这里iptables已经安装,下面进行配置)
vi/etc/sysconfig/iptables #编辑防火墙配置文件

sampleconfiguration for iptables service

you can edit thismanually or use system-config-firewall

please do not askus to add additional ports/services to this default configuration

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state–state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT–reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出

备注:这里使用80和8080端口为例。***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp–dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。
systemctlrestart iptables.service #最后重启防火墙使配置生效
systemctlenable iptables.service #设置防火墙开机启动

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值