注意:不建议永久开启防火墙!!!
1 防火墙操作
有时候,明明Linux已经启动了Tomcat服务,但是为什么浏览器访问不到呢,因为你的防火墙相应端口没开。
访问地址:“你的linux的ip+服务的端口号”,发现是访问不到的。
例:Tomcat
那为什么tomcat启动成功了,但就是访问不到呢?原因就在于Linux系统的防火墙,系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。接下来我们就需要学习一下,如何操作防火墙,具体指令如下:
操作 | 指令 | 备注 |
查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
暂时关闭防火墙 | systemctl stop firewalld | |
永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | 下次启动,才生效 |
暂时开启防火墙 | systemctl start firewalld | |
永久开启防火墙(启用开机自启) | systemctl enable firewalld | 下次启动,才生效 |
开放指定端口 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | 需要重新加载生效 |
关闭指定端口 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | 需要重新加载生效 |
立即生效(重新加载) | firewall-cmd --reload | |
查看开放端口 | firewall-cmd --zone=public --list-ports |
注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
那么我们要想访问到Tomcat,就可以采取两种类型的操作:
A. 关闭防火墙
执行指令 :
systemctl stop firewalld
关闭之后,再次访问Tomcat,就可以访问到了。
注意: 上面也提到了,直接关闭系统的防火墙,是不建议的,因为这样会造成系统不安全。
B. 开放Tomcat的端口号8080
执行指令:
①. 先开启系统防火墙 systemctl start firewalld ②. 再开放8080端口号 firewall-cmd --zone=public --add-port=8080/tcp --permanent ③. 重新加载防火墙 firewall-cmd --reload
执行上述的操作之后,就开放了当前系统中的8080端口号,再次访问Tomcat。