Nginx 动静分离配置(详细版)

本文介绍了Nginx 动静分离相关配置,主要包括了配置文件创建、配置示例、配置原理解析以及重新启用配置文件等等

本文目录

      • [1. 创建 Nginx 配置文件](#1. 创建 Nginx 配置文件)
      • [2. 配置示例](#2. 配置示例)
      • [3. 配置原理解析](#3. 配置原理解析)
      • [4. 启用配置文件并重新加载 Nginx](#4. 启用配置文件并重新加载 Nginx)

1. 创建 Nginx 配置文件

/etc/nginx/sites-available 目录下创建一个新的配置文件,如 ecommerce-p2p.conf

bash 复制代码
sudo nano /etc/nginx/sites-available/ecommerce-p2p.conf

2. 配置示例

nginx 复制代码
server {
    listen 80;
    server_name ecommerce-p2p.com;

    # 静态资源处理
    location ~* \.(jpg|jpeg|png|gif|css|js)$ {
        root /var/www/ecommerce-p2p/static;
        expires 30d;
    }

    # 动态资源处理
    location / {
        proxy_pass http://backend - servers;
        proxy_set_header Host $host;
        proxy_set_header X - Real - IP $remote_addr;
    }
}

upstream backend - servers {
    server 192.168.1.100:8080;
    server 192.168.1.101:8080;
}

3. 配置原理解析

  • 静态资源处理location ~* \.(jpg|jpeg|png|gif|css|js)$ 匹配以指定扩展名结尾的静态资源请求,将其指向 /var/www/ecommerce-p2p/static 目录,并设置缓存时间为 30 天。
  • 动态资源处理location / 匹配其他请求,将其转发到后端应用服务器组 backend-servers

4. 启用配置文件并重新加载 Nginx

bash 复制代码
sudo ln -s /etc/nginx/sites-available/ecommerce-p2p.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

|---------------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------|
| ← 上一篇 MySQL------表添加索引多种方式 | 记得点赞、关注、收藏哦! | 下一篇 JUC小册------公平锁和非公平锁 → |

相关推荐
Avan_菜菜7 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
ping某4 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
難釋懷7 天前
Nginx反向代理中的容错机制
运维·nginx
bloglin999997 天前
Nginx高危漏洞CVE-2021-23017及配置样例
运维·nginx
进阶的小名7 天前
Spring Boot SSE + Nginx 配置:解决 EventSource 不实时返回、连接超时、流式响应被缓冲问题
spring boot·后端·nginx
難釋懷7 天前
Nginx获取客户端真实IP
服务器·前端·nginx
qq_谁赞成_谁反对7 天前
甲方IT的成长之路--nginx实战--2604
服务器·数据库·nginx
图灵追慕者7 天前
Nginx安裝以及配置顯示本地服務器文件夾
运维·nginx
rabbit_pro7 天前
Nginx配置维护模式
运维·nginx
楠目7 天前
Nginx 解析漏洞利用总结
nginx·网络安全