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

分类: 365tiyu 📅 2025-09-12 18:11:44 👤 admin 👁️ 1133 ❤️ 855
解决linux中的tomcat启动成功但是在本地访问不到的问题

解决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 #设置防火墙开机启动

相关文章