用Nginx做静态资源服务器,但是发现一个悲剧。 我已经更新了root目录下的资源文件,是个css文件,但是访问的时候还是个旧的。 肯定不是浏览器缓存,换了浏览器了已经。。。 Nginx重启了都不行,Nginx缓存怎么这么诡异,怎么办。
首先,你肯定是配置了proxy_cache_path,nginx如果没有配置这个参数,是不会缓存任何文件的。 要清除配置,要删除proxy_cache_path配置的目录下的所有文件。
find /proxy/cache/path -type f -delete
重启Nginx是没用的
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
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制http://www.qixing318.com/article/using-memc-nginx-and-srcache-nginx-module-build-efficient-and-transparent-caching-mechanism.html
如果你是在用virtualBox 那有可能是这个原因
VirtualBox Hates Sendfile 修改配置 sendfile off;
谢谢楼上的!我的就是这个问题导致的,把sendfile改成OFF后就好了!
首先,你肯定是配置了proxy_cache_path,nginx如果没有配置这个参数,是不会缓存任何文件的。
要清除配置,要删除proxy_cache_path配置的目录下的所有文件。
重启Nginx是没用的
nginx的缓存服务proxy_cache不能清除指定的URL缓存,只能设置URL过期时间,要清除指定URL可以用nginx第三方模块ngx_cache_purge。
nginx安装时需要将ngx_cache_purege加载进去。
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
http://www.qixing318.com/article/using-memc-nginx-and-srcache-nginx-module-build-efficient-and-transparent-caching-mechanism.html
如果你是在用virtualBox 那有可能是这个原因
VirtualBox Hates Sendfile
修改配置 sendfile off;
谢谢楼上的!我的就是这个问题导致的,把sendfile改成OFF后就好了!