宝塔面板Nginx缓存清理全攻略:三步解决网站更新不生效

宝塔面板Nginx缓存清理全攻略:三步解决网站更新不生效

很多站长在修改CSS、JS或图片后,刷新浏览器却还是旧版本,这种问题十有八九是Nginx缓存没清干净。
宝塔面板集成的Nginx默认开启了静态文件缓存(通过add_header Cache-Control或expires指令),如果你不清楚怎么清理,会非常头疼。
下面我用零基础也能看懂的方式,教你彻底清理Nginx缓存。

清理前的准备工作

先确认你的宝塔面板和网站基本信息:

  1. 登录宝塔后台,进入“网站”页面,找到需要清理缓存的站点。
  2. 点击站点右侧的“设置”,在侧边栏选择“配置文件”,查看Nginx配置中是否包含类似expires 30d;或add_header Cache-Control "public, max-age=86400";的指令。如果存在,说明有缓存策略。
  3. 另外,如果你使用了第三方缓存插件(如WP Fastest Cache、Redis),也需要一并清理,但本文只聚焦Nginx原生缓存。

一步步清理Nginx缓存

第一步:手动删除缓存目录

宝塔面板的Nginx默认会将缓存文件存储在临时目录,通常路径为:/tmp/nginx_cache或/www/server/nginx/cache。
你可以通过SSH连接服务器执行以下命令:

# 进入缓存目录
cd /tmp/nginx_cache
# 删除所有缓存文件
rm -rf *
# 或者针对指定网站(如果使用了proxy_cache_path)则按路径删除

如果你不习惯SSH,也可以直接在宝塔面板的“文件”管理中,找到/tmp/nginx_cache文件夹,全选删除。
注意:如果缓存目录为空或不存在,说明未启用文件缓存,请往下看第二、三步。

第二步:通过配置强制禁用指定URL缓存

对于更新频繁的接口或页面,最好直接关闭缓存。
进入站点“配置文件”,在location ~ \.(js|css|png|jpg|gif)$块内添加以下内容:

location ~ \.(js|css|png|jpg|gif)$ {
    expires -1;
    add_header Cache-Control "no-cache, no-store, must-revalidate";
    proxy_no_cache 1;
    proxy_cache_bypass 1;
}

保存后,在宝塔面板顶部点击“重载配置”或“重启Nginx”使其生效。
注意:此操作会彻底关闭静态文件的缓存,可能影响网页加载速度,建议只对需要实时更新的文件使用。

第三步(可选):设置Nginx缓存过期策略

如果你不想完全关闭缓存,可以调整缓存时间。
在配置文件中找到expires指令,修改为更短的时间,例如expires 1h;,然后重载Nginx。
这样1小时后自动清理旧缓存,用户就能看到新版本。

频繁遇到的坑与解决

问题1:清理缓存后浏览器还是旧内容?

可能是浏览器自身缓存(强缓存)没清。
请用快捷键Ctrl+Shift+Delete清除浏览器缓存,或使用无痕模式访问。
另外,如果使用了CDN(如Cloudflare),还需要在CDN后台刷新缓存。

问题2:删除了Nginx缓存目录但文件自动重建?

说明你只删除了临时文件,但Nginx进程可能还在使用内存中的缓存。
建议重启Nginx:在宝塔面板左侧“软件商店”中找到Nginx,点击“重启”;
或者执行命令systemctl restart nginx。

问题3:用了proxy_cache_bypass但部分文件仍有缓存?

检查proxy_cache_path指令是否正确指向了缓存目录,以及是否在location块外定义了缓存区域。
示例配置:

proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

确保proxy_cache my_cache;和proxy_cache_bypass $http_cache_control;配合使用。

如何确认缓存已清除

最后一步,验证是否生效。
在本地电脑打开浏览器开发者工具(F12),切换到“网络”选项卡,刷新网站页面,点击任意静态资源(如CSS文件)。
查看响应头中的Cache-Control字段:如果是no-cache或max-age=0,说明缓存已成功清理或关闭。
如果仍有max-age=86400,说明缓存策略仍生效,请重复前面步骤。

对于服务器端,你也可以执行以下命令查看缓存目录大小:

du -sh /tmp/nginx_cache/*

如果目录为空或大小极小,表示清理成功。

掌握了宝塔面板Nginx缓存清理的方法,以后网站更新后就不用反复发公告让用户清缓存了。
如果你在操作中遇到其他问题,欢迎在评论区留言,我会一起解答。

分享到:
上一篇
Docker部署k6,一条命令跑起性能测试环境
下一篇
WordPress网站链接提交收录实战
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意