首页  >  问答  >  正文

Nginx缓存为什么清除不掉

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

漂亮男人漂亮男人2712 天前772

全部回复(5)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:32:09

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

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

    重启Nginx是没用的

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:32:09

    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

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-16 17:32:09

    使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
    http://www.qixing318.com/article/using-memc-nginx-and-srcache-nginx-module-build-efficient-and-transparent-caching-mechanism.html

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:32:09

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

    VirtualBox Hates Sendfile
    修改配置 sendfile off;

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:32:09

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

    回复
    0
  • 取消回复