我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
当前回答
这个问题有两个答案。
一个用于nginx作为反向缓存 另一个是通过头文件输入清理浏览器缓存的(这个)
Use:
expires modified +90d;
例如:
location ~* ^.+\.(css|js|jpg|gif|png|txt|ico|swf|xml)$ {
access_log off;
root /path/to/htdocs;
expires modified +90d;
}
其他回答
如果你想清除特定文件的缓存,那么你可以使用proxy_cache_bypass指令。这就是你要做的
location / {
proxy_cache_bypass $cookie_nocache $arg_nocache;
# ...
}
现在如果你想绕过缓存,你可以通过传递nocache参数来访问文件
http://www.example.com/app.css?nocache=true
我也有这个问题。
找不到nginx/cache文件夹 发送文件已关闭
我的域名使用cloudflare.com进行DNS(很棒的服务!)啊哈!就是这样:
cloudflare.com ->缓存->清除缓存(我清除了一切) 这解决了我的问题!
在我的服务器上,nginx缓存文件夹在/data/nginx/cache/
所以我只删除了它:sudo rm -rf /data/nginx/cache/
希望这对大家有所帮助。
在我的情况下,触摸Css文件,使它看起来像资源改变(实际上触摸不做任何文件,除了改变最后修改时间),所以浏览器和nginx将应用最新的资源
find /etc/nginx/cache_folder -type d -exec rm -rvf {} \;
mkdir /etc/nginx/cache_folder
service nginx restart
注意正确指定正确的路径。