在CentOS系统中,使用firewalld作为默认的防火墙管理工具。要在CentOS上为LNMP(Linux, Nginx, MySQL/MariaDB, PHP)设置防火墙,你需要按照以下步骤操作:
启动并启用firewalld服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
检查firewalld状态:
sudo firewall-cmd --state
开放Nginx所需的端口(通常是80和443):
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
开放MySQL/MariaDB所需的端口(默认是3306):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
如果你有其他服务需要开放端口,可以按照上述格式继续添加。
查看当前开放的端口:
sudo firewall-cmd --list-all
临时关闭防火墙(不推荐在生产环境中使用):
sudo systemctl stop firewalld
永久关闭防火墙(不推荐在生产环境中使用):
sudo systemctl disable firewalld
重新加载防火墙配置(在修改了防火墙规则后需要执行):
sudo firewall-cmd --reload
检查特定端口是否开放:
sudo firewall-cmd --query-port=80/tcp
请注意,这些步骤假设你已经安装了firewalld并且它正在运行。如果你的CentOS版本较旧,可能使用的是iptables而不是firewalld。在这种情况下,你需要使用iptables命令来设置防火墙规则。
此外,确保你的Nginx、MySQL/MariaDB和其他服务已经正确配置并运行在你的服务器上。如果你在配置过程中遇到任何问题,可以查看相关服务的日志文件以获取更多信息。