ubuntu

LNMP在Ubuntu上的防火墙设置方法

小樊
41
2025-06-27 06:19:18
栏目: 智能运维

在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)环境的防火墙通常使用 ufw(Uncomplicated Firewall)。以下是详细的步骤:

1. 安装UFW

首先,确保你的系统上已经安装了 ufw。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install ufw

2. 启用UFW

安装完成后,启用 ufw

sudo ufw enable

系统会提示你确认是否启用 ufw,输入 y 并按回车键确认。

3. 配置UFW规则

接下来,配置 ufw 规则以允许必要的端口。LNMP通常需要以下端口:

你可以使用以下命令来添加这些规则:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
sudo ufw allow 9000/tcp

4. 允许SSH访问

为了能够远程管理服务器,确保允许SSH访问:

sudo ufw allow ssh

5. 查看UFW状态

你可以使用以下命令查看当前的 ufw 状态和规则:

sudo ufw status

6. 禁用UFW(可选)

如果你需要临时禁用 ufw,可以使用以下命令:

sudo ufw disable

7. 重新加载UFW(可选)

如果你修改了防火墙规则,但不想重启服务,可以使用以下命令重新加载 ufw

sudo ufw reload

8. 配置Nginx、MySQL和PHP-FPM

确保你的Nginx、MySQL和PHP-FPM服务已经正确配置并运行。以下是一些基本配置示例:

Nginx配置示例:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

MySQL配置示例:

确保MySQL配置文件(通常位于 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf)中没有阻止外部访问的设置。

PHP-FPM配置示例:

确保PHP-FPM配置文件(通常位于 /etc/php/7.4/fpm/pool.d/www.conf)中的 listen 参数设置正确:

listen = /run/php/php7.4-fpm.sock

9. 重启服务

最后,重启Nginx、MySQL和PHP-FPM服务以应用配置更改:

sudo systemctl restart nginx
sudo systemctl restart mysql
sudo systemctl restart php7.4-fpm

通过以上步骤,你应该能够在Ubuntu上成功配置LNMP环境的防火墙规则。如果有任何问题,请检查日志文件以获取更多信息。

0
看了该问题的人还看了