Nginx缓存为什么清除不掉

大盗贼
  • 596

用Nginx做静态资源服务器,但是发现一个悲剧。
我已经更新了root目录下的资源文件,是个css文件,但是访问的时候还是个旧的。
肯定不是浏览器缓存,换了浏览器了已经。。。
Nginx重启了都不行,Nginx缓存怎么这么诡异,怎么办。

回复
阅读 42.5k
6 个回答

首先,你肯定是配置了proxy_cache_path,nginx如果没有配置这个参数,是不会缓存任何文件的。
要清除配置,要删除proxy_cache_path配置的目录下的所有文件。

find /proxy/cache/path -type f -delete

重启Nginx是没用的

如果你是在用virtualBox 那有可能是这个原因

VirtualBox Hates Sendfile
修改配置 sendfile off;

nginx的缓存服务proxy_cache不能清除指定的URL缓存,只能设置URL过期时间,要清除指定URL可以用nginx第三方模块ngx_cache_purge。
nginx安装时需要将ngx_cache_purege加载进去。

./configure --user=www --group=www --add-module=/root/dxm/nginx/ngx_cache_purge-1.2
xiaoyang2441
  • 1
新手上路,请多包涵

谢谢楼上的!我的就是这个问题导致的,把sendfile改成OFF后就好了!

宣传栏