Nginx 开启 gzip 与静态缓存
Linux系统
2026-10-09 05:47
20
静态资源不加缓存头,等于每次重下。命令都会敲,差别在于知不知道每一步在改什么,出问题能不能退回去。
下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 gzip、缓存 的关键动作都给了具体做法,可以照着走。
gzip
gzip on、gzip_types 只列文本类,图片别压。
条件允许的话先在测试环境走一遍,再动生产。
静态缓存
按扩展名匹配 js css png,配 expires 30d。
容易踩的坑:只改出问题的那一台、不做同步,后面会反复踩同一个坑。
文件名带指纹时才能长缓存
文件名带指纹时才能长缓存,否则用短周期。
需要留痕的操作,把时间点和现象一起记下来,复盘时最有用。
验证
curl -I 看 Content-Encoding 与 Cache-Control。
速查表
| 环节 | 关键动作 |
|---|---|
| gzip | gzip on、gzip_types 只列文本类,图片别压 |
| 静态缓存 | 按扩展名匹配 js css png,配 expires 30d |
| 文件名带指纹时才能长缓存 | 文件名带指纹时才能长缓存,否则用短周期 |
| 验证 | curl -I 看 Content-Encoding 与 Cache-Control |
常见问题
Q:gzip这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。
Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。
小结
回到这篇的四个环节:gzip、静态缓存、文件名带指纹时才能长缓存、验证。以上步骤按顺序做完,同类故障基本能自己处理。留一份操作记录,下次能省一半时间。