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

目录

前言

一 7步解决方案

二 补充:Centos中如何打开和关闭防火墙??

1 防火墙系统为firewall的关闭和打开方式

2 CentOS 7以上默认使用firewall作为防火墙改为iptables


前言

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)看是否正常访问。

如下则表示正常访问:

7步解决linux中的tomcat启动成功但是在本地访问不到的问题;centos7关闭防火墙_第1张图片

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

 

致谢:本篇博文参考了以下三篇博文,特此感谢!!!

参考博文:https://blog.csdn.net/weixin_39477597/article/details/82464731

参考博文:https://blog.csdn.net/libsyc/article/details/78342851

参考博文:https://www.cnblogs.com/yyxq/p/10551274.html

 

你可能感兴趣的:(Linux)