如何在Nginx中清除单个文件的open_file_cache缓存
清除Nginx单个文件的open_file_cache缓存方法
Nginx本身没有提供直接清除单个文件open_file_cache缓存的命令,结合你给出的配置,可通过以下几种方式处理已修改的/my/file.jpg文件缓存:
等待缓存自动刷新
根据你的配置:open_file_cache max=10000 inactive=60s; open_file_cache_valid 60s;Nginx会每60秒验证缓存中文件的有效性,若磁盘上的文件已修改,会自动丢弃旧缓存并加载新文件的信息;同时,60秒内未被访问的缓存会被自动清理。最多等待60秒,该文件的缓存就会自动更新。
全局重置open_file_cache(快速生效)
通过重新加载Nginx配置来清空所有open_file_cache缓存,命令如下:nginx -s reload或者通过发送HUP信号给Nginx主进程(需替换
<PID>为实际主进程ID):kill -HUP <PID>此操作会让Nginx重新初始化缓存,后续访问
/my/file.jpg时会读取修改后的文件内容。触发缓存验证
手动发起一次对/my/file.jpg的请求(比如用curl命令):curl http://your-domain/my/file.jpg结合
open_file_cache_valid 60s的配置,Nginx会在验证周期内检查文件的修改时间,发现变化后更新缓存内容。
内容的提问来源于stack exchange,提问作者Alexander Goncharov
相关产品推荐
相关产品推荐

