linux

LNMP如何配置Nginx服务器

小樊
44
2025-03-14 02:32:07
栏目: 云计算

配置Nginx服务器在LNMP(Linux, Nginx, MySQL, PHP)堆栈中是一个关键步骤。以下是一个基本的指南,帮助你配置Nginx服务器:

1. 安装Nginx

首先,你需要在你的Linux系统上安装Nginx。以下是一些常见发行版的安装命令:

Ubuntu/Debian

sudo apt update
sudo apt install nginx

CentOS/RHEL

sudo yum install epel-release
sudo yum install nginx

Fedora

sudo dnf install nginx

2. 启动和启用Nginx服务

安装完成后,启动Nginx并设置开机自启动:

Ubuntu/Debian

sudo systemctl start nginx
sudo systemctl enable nginx

CentOS/RHEL

sudo systemctl start nginx
sudo systemctl enable nginx

Fedora

sudo systemctl start nginx
sudo systemctl enable nginx

3. 配置Nginx服务器块

Nginx使用服务器块(server blocks)来处理不同的域名或子域名。以下是一个基本的服务器块配置示例:

  1. 打开Nginx配置文件目录:

    sudo nano /etc/nginx/sites-available/default
    
  2. 替换或编辑默认配置文件,例如:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        root /var/www/html;
        index index.html index.htm index.php;
    
        server_name _;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    
  3. 保存并关闭文件。

  4. 测试Nginx配置是否正确:

    sudo nginx -t
    
  5. 如果配置测试通过,重新加载Nginx以应用更改:

    sudo systemctl reload nginx
    

4. 配置防火墙

确保你的防火墙允许HTTP(80)和HTTPS(443)流量:

Ubuntu/Debian (使用ufw)

sudo ufw allow 'Nginx Full'

CentOS/RHEL (使用firewalld)

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

5. 配置SSL(可选但推荐)

为了安全起见,建议为你的网站配置SSL证书。你可以使用Let’s Encrypt免费获取SSL证书。

安装Certbot

sudo apt install certbot python3-certbot-nginx # Ubuntu/Debian
sudo yum install certbot python3-certbot-nginx # CentOS/RHEL

获取并安装SSL证书

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示完成证书的安装和配置。

6. 验证配置

打开浏览器,访问你的域名,确保Nginx正确显示你的网站内容,并且SSL证书已正确安装。

通过以上步骤,你应该能够成功配置一个基本的Nginx服务器。根据你的具体需求,你可能需要进一步调整和优化配置。

0
看了该问题的人还看了