Nginx缓存清除方法(手把手教你轻松清理Nginx缓存)

简介: 本文来源https://www.vps5.cn/介绍Nginx缓存清除的常用方法,包括删除缓存文件、使用ngx_cache_purge模块及设置过期时间,帮助开发者高效管理缓存,提升网站性能。

在使用 Nginx 作为 Web 服务器或反向代理时,缓存机制能显著提升网站性能。但有时我们需要手动清除缓存,比如更新了网页内容却看不到变化。本文将详细讲解 Nginx缓存清除 的几种常用方法,即使是初学者也能轻松上手。

什么是 Nginx 缓存?

Nginx 可以通过proxy_cachefastcgi_cache等模块将后端响应(如 HTML 页面、图片等)临时存储在磁盘上。当用户再次请求相同内容时,Nginx 直接返回缓存,无需再次访问后端服务器,从而加快响应速度。

方法一:删除缓存文件(最直接)

Nginx 的缓存通常保存在配置中指定的目录里,例如/var/cache/nginx。你可以直接删除这些文件来清除缓存。

# 查看缓存路径(需查看 nginx.conf 配置)sudo grep -r "proxy_cache_path" /etc/nginx/# 假设缓存路径是 /var/cache/nginx/my_cache# 删除整个缓存目录(谨慎操作!)sudo rm -rf /var/cache/nginx/my_cache/*# 或者只删除特定 URL 对应的缓存(需知道缓存键)# 通常缓存文件名是 URL 的 MD5 值,可通过脚本匹配

方法二:使用第三方模块 ngx_cache_purge

这是更优雅的方式,允许通过 HTTP 请求清除指定 URL 的缓存。首先需要安装支持ngx_cache_purge模块的 Nginx(很多发行版默认不包含)。

1. 在 Nginx 配置中添加 purge location:

proxy_cache_path /var/cache/nginx/my_cache levels=1:2 keys_zone=my_cache:10m inactive=60m;server {    listen 80;    server_name example.com;    location / {        proxy_pass http://backend;        proxy_cache my_cache;        proxy_cache_valid 200 302 10m;        proxy_cache_valid 404 1m;    }    # 允许通过 /purge/ 清除缓存    location ~ /purge(/.*) {        allow 127.0.0.1;      # 仅允许本地        allow 192.168.1.0/24; # 或指定内网IP        deny all;        proxy_cache_purge my_cache $1$is_args$args;    }}

2. 重载 Nginx 配置:

sudo nginx -s reload

3. 清除缓存(例如清除https://example.com/page.html):

curl -X PURGE http://example.com/purge/page.html

方法三:设置缓存过期时间(预防性策略)

虽然这不是“清除”缓存,但合理设置proxy_cache_validCache-Control头可以减少手动清除的需求。例如:

location / {    proxy_pass http://backend;    proxy_cache my_cache;    proxy_cache_valid 200 5m;  # 成功响应5分钟后过期}

小贴士与注意事项

  • 清除缓存前,建议先备份重要数据。
  • 使用 ngx_cache_purge 时务必限制访问 IP,防止被恶意清空缓存。
  • 缓存键(cache key)由 proxy_cache_key 定义,默认包含 URI、host 等,清除时需匹配。
  • 若使用 CDN,还需清除 CDN 层缓存,Nginx 缓存只是其中一环。

掌握这些 Nginx缓存管理 技巧,你就能灵活应对内容更新带来的缓存问题。无论是开发测试还是线上运维,清除Nginx缓存 都将变得简单高效。希望这篇教程对你有所帮助!

来源:https://www.vps5.cn/

相关文章
|
8月前
|
缓存 前端开发 JavaScript
Nginx缓存头信息设置(手把手教你优化网站加载速度)
本文介绍如何通过配置Nginx的HTTP缓存头(如Cache-Control、Expires、ETag)来优化静态资源缓存,提升网站性能。涵盖基础设置、可变与不可变资源区分、验证方法及实用配置示例,帮助开发者实现高效浏览器缓存,加快页面加载,减轻服务器负担。
|
6月前
|
缓存 JavaScript 前端开发
Nginx缓存优化配置(手把手教你提升网站加载速度)
本文介绍如何通过Nginx缓存优化网站性能,涵盖代理缓存与静态资源缓存的配置方法,帮助小白快速掌握缓存设置、验证及清理技巧,提升访问速度与服务器效率。
|
8月前
|
C++ Python
Qt Theme —— 纯 qss 的 Qt 主题
Qt Theme 是一个纯 QSS 实现的 Qt 主题库,支持 C++ 与 Python(PyQt/PySide),提供多种风格与配色,轻松美化界面。可通过 pip 安装或导出资源嵌入项目,兼容 WebAssembly 在线预览。
750 109
|
8月前
|
存储 缓存 运维
Nginx缓存大小限制详解(手把手教你控制缓存空间,避免磁盘爆满)
本文教你如何设置Nginx缓存大小限制,避免缓存无节制增长导致磁盘占满。通过配置proxy_cache_path的max_size等参数,合理控制缓存空间,提升网站性能的同时保障服务器稳定运行,适合小白用户快速上手。
Nginx缓存大小限制详解(手把手教你控制缓存空间,避免磁盘爆满)
|
7月前
|
JSON 缓存 前端开发
Nginx配置文件内存优化(小白也能轻松上手的实战指南)
本文详解Nginx内存优化策略,涵盖worker进程、连接数、缓冲区、Gzip压缩等核心配置调优,帮助降低内存占用,提升Web服务器性能与稳定性,适用于高并发及低配环境。
|
缓存 应用服务中间件 nginx
成功解决 Nginx更新静态资源无效 ,Nginx静态资源更新不及时,Nginx清除缓存
这篇文章讨论了在使用Nginx进行动静分离时遇到的静态资源更新不及时的问题。问题描述了在服务器上更新静态资源后,访问页面时页面没有显示更新的情况。文章提供了解决这个问题的方法,即清除浏览器缓存,并提供了相关参考文章链接。此外,还展示了问题复现的步骤和正常情况的预期结果。
成功解决 Nginx更新静态资源无效 ,Nginx静态资源更新不及时,Nginx清除缓存
|
SQL 程序员 Linux
推荐几个不错的数据库设计工具
推荐几个不错的数据库设计工具
2019 11
Vue3使用hook封装常见的几种异步请求函数场景,让开发更加丝滑🚀🚀🚀
Vue3使用hook封装常见的几种异步请求函数场景,让开发更加丝滑🚀🚀🚀
|
JavaScript
Vue3使用全局函数或变量的两种常用方式
这篇文章介绍了Vue 3中实现全局函数或变量的两种方法:一种是使用`provide/inject`进行依赖注入,另一种是利用`app.config.globalProperties`和`getCurrentInstance()`来注册全局属性。
2389 2
Vue3使用全局函数或变量的两种常用方式
|
JavaScript 前端开发
JS如何把身份证处理成中间几位变成*号呢
JS如何把身份证处理成中间几位变成*号呢
655 1