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小册------公平锁和非公平锁 → |

相关推荐
higherzjm2 天前
如何通过Linux命令自动切割nginx和redis日志
linux·redis·nginx
小张同学a.3 天前
zabbix企业级监控平台3——服务监控与API实战
linux·运维·mysql·nginx·tomcat·zabbix
Archy_Wang_13 天前
LVS+KeepAlived+Nginx实现企业级业务高可靠部署的实战教程
运维·nginx·lvs
Ai拆代码的曹操3 天前
Nginx upstream keepalive 连接池中毒排查实录
chrome·nginx·php
空谷有来人4 天前
Ubuntu22.04上安装配置站点
nginx
PC2005-cloud4 天前
KubeSphere学习笔记:部署nginx
笔记·学习·nginx
后除4 天前
Debian 安装与使用 Certbot
后端·nginx·https
风雨_834 天前
轻量级 Nginx 日志分析和可视化平台 NginxPulse安装
运维·nginx
若无情我 纸小铭4 天前
Nginx学习笔记(二) Nginx--connection&request
笔记·学习·nginx
xixingzhe24 天前
net::ERR_INCOMPLETE_CHUNKED_ENCODING解决
nginx