文章内容
使用Linux系统部署服务时,会遇到这样的情况,明明服务已经成功启动了,在服务器上测试也成功了,但是使用外部设备就是访问不到服务。如果出现这种情况,很可能是因为服务器的防火墙设置不正确。那要如何来排查是否是因为防火墙引起的问题呢,下面这些常用命令可以帮助我们解决日常大部分的问题。
1、开启和关闭防火墙
// 开启防火墙
systemctl start firewalld.service
// 关闭防火墙
systemctl stop firewalld.service
2、查看防火墙状态
systemctl status firewalld
3、开放关闭指定端口
// 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
// 关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
// 使配置的端口生效
firewall-cmd --reload
4、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
5、查看监听的端口
// centos7默认没有 netstat 命令,
// 需要安装 net-tools 工具,
// yum install -y net-tools
netstat -lnpt
6、检查端口被哪个进程占用
netstat -lnpt | grep 端口号
// 例如查看3306端口被哪个进程占用
netstat -lnpt | grep 3306
7、查看进程占用什么端口
netstat -anp | grep 进程名
// 例如想查看mysql占用的是哪个端口
netstat -anp | grep mysql
8、查看进程的详细信息
ps 进程编号