centos

centos lnmp如何配置防火墙规则

小樊
36
2025-06-10 12:54:19
栏目: 智能运维

在CentOS系统中,使用firewalld作为默认的防火墙管理工具。要配置firewalld以允许LNMP(Linux, Nginx, MySQL/MariaDB, PHP)服务,你需要按照以下步骤操作:

  1. 启动firewalld服务(如果尚未启动):

    sudo systemctl start firewalld
    
  2. 启用firewalld服务(以便在系统启动时自动运行):

    sudo systemctl enable firewalld
    
  3. 检查firewalld状态:

    sudo firewall-cmd --state
    
  4. 开放HTTP和HTTPS端口(Nginx默认使用80和443端口):

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  5. 重新加载firewalld配置以应用更改:

    sudo firewall-cmd --reload
    
  6. 检查开放的端口:

    sudo firewall-cmd --list-all
    
  7. 如果MySQL/MariaDB服务需要远程访问,你需要开放3306端口(或者你选择的任何其他端口):

    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
    sudo firewall-cmd --reload
    
  8. 如果你的PHP应用程序需要连接到数据库,确保数据库服务器允许来自PHP应用程序服务器的连接。这通常在数据库服务器上配置,例如在MySQL中,你可能需要编辑my.cnf文件并确保bind-address设置为服务器的IP地址或者注释掉这一行。

  9. 如果你使用SELinux,可能需要调整相关的策略以允许Nginx和PHP-FPM等服务正常工作。

请注意,这些步骤假设你已经安装了Nginx、MySQL/MariaDB和PHP。如果尚未安装,你可以使用以下命令安装它们:

sudo yum install nginx mariadb-server php-fpm

安装完成后,启动并启用Nginx和MariaDB服务:

sudo systemctl start nginx mariadb
sudo systemctl enable nginx mariadb

对于PHP-FPM,启动并启用它:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

最后,确保Nginx配置文件中的PHP处理部分正确设置,以便Nginx可以将PHP请求传递给PHP-FPM。

以上步骤应该可以帮助你在CentOS系统上配置firewalld以支持LNMP环境。如果你遇到任何问题,请检查防火墙规则是否正确应用,并查看Nginx、MySQL/MariaDB和PHP的错误日志以获取更多信息。

0
看了该问题的人还看了