讲师中心 微信公众号
AI工具推荐 视频效率加速

服务器配置怎么优化 Nginx 静态资源缓存

轻婷同学_5837

轻婷同学_5837

发布时间:2026-08-24 12:23:13

|

196人浏览过

|

来源于php中文网

原创

优化Nginx静态资源缓存需三类配置协同:一是用location+root/alias直读磁盘替代proxy_pass;二是配expires 1y、Cache-Control immutable及open_file_cache提升元数据访问效率;三是按需启用proxy_cache并验证响应头与浏览器缓存状态。

服务器配置怎么优化 nginx 静态资源缓存

优化 Nginx 静态资源缓存,核心是让浏览器高效复用本地副本,同时减少 Nginx 自身的文件系统开销和代理转发成本。不需要改架构、不依赖后端轮询,关键在三类配置协同落地。

直接由 Nginx 服务静态文件,跳过 upstream

把 JS、CSS、字体、图片等请求从 proxy_pass 拿掉,改用 location + root/alias 直读磁盘:

  • 用 root 时路径拼接规则是:root + URI 路径(例如 root /data/www; location /static/ {...} → 请求 /static/a.js 对应 /data/www/static/a.js)
  • 用 alias 时会替换 location 前缀(location /static/ { alias /data/assets/; } → /static/a.js 对应 /data/assets/a.js)
  • 配合 expires 1y 和 add_header Cache-Control "public, immutable",确保带哈希的资源(如 app.8a2b3c.js)真正实现“一次加载、长期免验证”
  • 加 access_log off,高并发小文件场景下可显著降低日志 I/O 压力

启用 open_file_cache,加速文件元数据访问

高频访问下反复 stat() 文件状态是隐形瓶颈,必须开启并合理调参:

Nginx Config Linter
Nginx Config Linter

对 Nginx 配置文件进行语法检查、验证和安全、性能审计。

下载
  • 在 http 块中配置:
    open_file_cache max=10000 inactive=60s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
  • 它缓存的是“文件是否存在、大小、修改时间”,不是文件内容,对所有 location 中的静态服务都生效
  • min_uses 2 过滤掉爬虫或误访的一次性请求,避免污染缓存
  • 搭配 sendfile on 和 tcp_nopush on,进一步提升内核级传输效率

按资源价值分层启用 proxy_cache(可选增强)

仅当静态资源必须走上游(比如 CDN 回源、鉴权存储、私有对象存储)时才启用,且要单独建缓存区,不混入业务 upstream:

  • 定义专用缓存区:
    proxy_cache_path /var/cache/nginx/static levels=1:2 keys_zone=static_cache:100m inactive=30d max_size=5g;
  • 在对应 location 中启用:
    location ~* \.(woff2|svg|ico)$ {
      proxy_cache static_cache;
      proxy_cache_valid 200 304 1y;
      proxy_cache_key "$host$request_uri";
      proxy_pass https://origin-server;
    }
  • 加 proxy_cache_use_stale updating,支持后台更新,避免缓存过期瞬间大量回源
  • 通过 X-Cache-Status 响应头(add_header X-Cache-Status $upstream_cache_status;)快速判断命中状态

验证与避坑要点

配置写完不等于生效,务必验证响应头和实际行为:

  • 用 curl -I https://site.com/app.a1b2c3.js 检查是否返回 Cache-Control: public, immutable, max-age=31536000 和 Expires 头
  • 浏览器 Network 面板中看资源状态:出现 200 (from memory cache) 或 200 (from disk cache) 才算强缓存成功;若仍是 304,说明 immutable 未起效或文件没哈希
  • HTML、JSON、API 接口禁用 expires 1y,应设为 expires -1 或 no-cache,否则版本更新无法触达用户
  • 确认文件真实存在且 Nginx 用户有读权限,否则 Nginx 不会添加缓存头

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

417

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

840

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2472

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

836

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

729

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

374

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2236

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

4112

2023.10.20

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

80

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn