Nginx缓存静态资源,减轻PHP与数据库压力

当网站访问变慢、PHP-FPM进程频繁跑满、数据库连接数飙升时,很多问题其实出在静态资源重复请求上。
Nginx缓存静态资源,减轻PHP与数据库压力,是零基础站长也能快速上手的优化手段。
本文从准备条件讲起,逐步配置缓存规则,并给出避坑与验证方法,帮你把图片、CSS、JS等文件直接由Nginx返回,不再反复穿透到PHP和数据库。

先确认环境与缓存目标

操作前需要一台已安装Nginx的服务器,并确认网站根目录位置。
以常见LNMP环境为例,网站根目录可能是/home/wwwroot/你的域名
你可以通过nginx -v查看版本,用nginx -t检查配置语法。

需要缓存的静态资源通常包括:

  • 图片:.jpg.png.gif.webp
  • 样式与脚本:.css.js
  • 字体与图标:.woff.woff2.ttf.svg
  • 其他:.ico.pdf

核心判断:如果这些文件每次访问都经过PHP处理或查询数据库,就值得开启Nginx缓存。

配置Nginx缓存静态资源

打开站点配置文件,通常位于/usr/local/nginx/conf/vhost/你的域名.conf/etc/nginx/conf.d/你的域名.conf
server块内添加以下规则:

location ~* \.(jpg|jpeg|png|gif|webp|css|js|woff|woff2|ttf|svg|ico)$ {
    expires 30d;
    add_header Cache-Control "public, max-age=2592000";
    access_log off;
}

这段配置告诉浏览器和Nginx:静态资源缓存30天,期间不再向PHP请求。
注意expires 30dmax-age单位是秒,2592000秒等于30天。

保存后执行nginx -t测试语法,通过后重载Nginx:

nginx -s reload

如果使用宝塔面板,可以在“网站”->“设置”->“配置文件”中直接修改,保存后重载服务。

避坑:缓存不是万能,注意这些细节

不要缓存动态接口
上述规则只匹配静态后缀,但如果你有.php伪静态或API路径,不要误加入缓存列表。

缓存时间不宜过短或过长
30天适合不常更新的图片和字体;
CSS和JS如果频繁改版,可以缩短到7天,或通过文件名哈希(如style.a1b2c3.css)强制更新。

开启缓存后要清理旧缓存
如果修改了静态文件但浏览器仍加载旧版,可强制刷新(Ctrl+F5)或修改文件名。

Nginx缓存与浏览器缓存是两回事expires主要控制浏览器缓存,Nginx自身不会存储文件副本,而是告诉浏览器“下次别再问我”。
真正减轻PHP压力的是浏览器不再重复请求。

验证缓存是否生效

配置完成后,用浏览器开发者工具(F12)打开“网络”面板,刷新页面,查看静态资源的响应头。
如果看到Cache-Control: public, max-age=2592000Expires日期,说明缓存已生效。

也可以使用curl命令检查:

curl -I https://你的域名/style.css

观察返回头中是否有Cache-ControlExpires字段。
同时,观察服务器负载:top命令查看PHP-FPM进程CPU占用是否下降,mysqladmin status查看数据库查询量是否减少。

可独立摘录的结论:Nginx缓存静态资源后,浏览器在缓存有效期内不会重复请求这些文件,因此PHP和数据库的请求量会明显下降。

常见疑问

问:缓存后网站样式错乱怎么办?
答:通常是浏览器缓存了旧CSS。强制刷新或修改CSS文件名加版本号即可。

问:所有静态资源都适合缓存30天吗?
答:不。经常更新的图片或JS建议缩短时间,或使用文件名哈希。

问:Nginx缓存能替代CDN吗?
答:不能完全替代。Nginx缓存主要减轻源站PHP压力,CDN还能加速全国访问,两者可以配合使用。

问:配置后Nginx报错怎么排查?
答:先运行nginx -t查看具体错误行,常见问题是缺少分号或路径错误。

按以上步骤配置后,你可以用abwrk简单压测对比,观察请求静态文件时PHP-FPM的活跃进程数是否下降。
如果效果不明显,检查是否有其他动态请求绕过了缓存规则。

分享到:
上一篇
Nginx健康检查,负载均衡后端节点监控
下一篇
MySQL慢日志开启,定位拖慢网站的SQL语句
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意