当前位置: 首页 > news >正文

nginx之动静分离

通过将静态资源(如图片、CSS、JS 文件)与动态请求(如 API 接口)分离,可以显著提升网站性能。Nginx 直接处理静态文件,效率极高,同时将动态请求代理给后端应用服务器。

场景: 将所有以 .jpg, .png, .css, .js 结尾的请求作为静态资源处理,并开启浏览器缓存;将所有 /api/ 开头的请求代理到后端服务器。

server {listen 80;server_name localhost;  # 你的域名# ====================== 静态资源配置 ======================# 图片、视频、样式、脚本等静态文件直接由 Nginx 读取location ~* \.(html|htm|css|js|jpg|jpeg|png|gif|ico|svg|woff|ttf|mp4|mp3)$ {root   /usr/share/nginx/html;  # 静态文件存放路径expires 7d;                    # 缓存 7 天add_header Cache-Control public;}# ====================== 动态请求转发 ======================# 接口请求 /api/* 转发给后端服务location /api/ {proxy_pass http://127.0.0.1:8080;  # 你的后端服务地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 默认页面location / {root   /usr/share/nginx/html;index  index.html index.htm;}
}

1、访问静态资源

http://localhost/css/style.css
→ Nginx 直接读取 /usr/share/nginx/html/css/style.css 返回

2、访问动态接口

http://localhost/api/user/list
→ Nginx 转发到 http://127.0.0.1:8080/api/user/list
→ 后端处理后返回数据
http://www.jsqmd.com/news/563128/

相关文章:

  • 【Xilinx】【ZynqMP】Petalinux 2020.1 QSPI Flash启动Linux:从分区规划到固件合成的避坑实践
  • uniapp分包优化实战:如何高效管理大型组件(如echart)以缩减主包体积
  • 嵌入式开发中映射表的高效应用实践
  • 5分钟搞懂MTMCT:多目标多摄像头跟踪的实战应用与避坑指南
  • 手把手教你在ROS机器人上跑通OpenPose手势控制(从摄像头驱动到消息发布)
  • 这个刚冲上 GitHub Trending 的 AI 插件,能帮你扒出全网过去 30 天最真实的讨论
  • COMSOL 中 CO₂ 封存模拟研究:构建真实地层洞察气体动态
  • OpenCore Legacy Patcher技术深度解析:非官方macOS升级的底层原理与实战指南
  • three-mesh-bvh 错误排查:解决常见问题和性能瓶颈的终极指南
  • Duet 3专用CANlib协议库:面向3D打印实时控制的确定性CAN通信框架
  • 2026京东网店转让平台发展白皮书 - 优质品牌商家
  • 【限时开源】我们刚交付的金融级Java AI推理框架(已支撑日均2.4亿次调用):支持模型热加载、QPS熔断、推理耗时SLA自动打标——源码解压密码将在72小时后失效
  • 保姆级教程:用Qt的QNetworkAccessManager实现网络延迟与带宽的简易测试工具(附完整源码)
  • 深入解析Linux中ASLR与-no-pie编译选项的安全与调试实践
  • Arduino蓝牙TPMS解析库:7字节广告数据逆向与嵌入式解码实践
  • Grok 4.1官网硬核技术拆解:情感智能与推理架构的平衡艺术深度实测
  • 7yuv调试神器+RGA组合拳:快速定位GStreamer解码数据异常区域
  • 简单认识了解MSE
  • 裸机单片机轻量级队列实现与应用
  • 从零开始用WPF实现一个完整的数据看板(含MVVM最佳实践)
  • DirectUI渲染劫持与视觉树监听:ExplorerBlurMica实现Windows文件管理器透明化效果的技术解析
  • ESP32/ESP8266轻量级HA MQTT自动发现C++库
  • FineReport单元格扩展与父子格设置实战:从基础配置到复杂报表设计
  • 基于MATLAB的buck-boost升降压斩波电路系统设计 本设计包括设计报告,仿真工程
  • 揭秘String、StringBuilder、StringBuffer拼接性能:实测数据告诉你最佳选择
  • 压力传感器校验:军工与民生领域的质量基石
  • 为什么我的Flowbite样式不生效?Tailwind CSS配置避坑与Svelte项目优化技巧
  • 2026广州搬家收纳优质服务机构推荐榜 - 优质品牌商家
  • 从原理到实践:为什么你的Shell脚本会出现^M错误?用Vim和dos2unix彻底解决
  • 终极BepInEx完整指南:如何快速为Unity游戏安装插件框架