我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
当前回答
您还可以在一个文件的基础上使用
proxy_cache_bypass $http_secret_header;
作为奖励,你可以返回这个头,看看你从缓存(将返回'HIT')或从内容服务器(将返回'BYPASS')得到它。
add_header X-Cache-Status $upstream_cache_status;
要使缓存文件过期/刷新,请使用curl或任何rest客户端向缓存页面发出请求。
curl http://abcdomain.com/mypage.html -s -I -H "secret-header:true"
这将返回一个新的项目副本,它也将替换缓存中的内容。
其他回答
我发现这很有用
grep -lr 'jquery.js' /path/to/nginx/cache/folder/* | xargs rm
搜索,如果找到就删除。
已经有很多答案了,但我认为我有一个有用的补充;
我正在用Hyper-V运行一个Homestead盒子,我有一个laravel项目,并在nginx上运行。
我在/etc/的nginx文件夹中没有缓存
当我访问我的网站时,我得到了服务器旧视图和css文件。
什么解决了它为我搜索浪费了很多时间看我的nginx配置和尝试的东西是使用PHP工匠。
在artisan安装的文件夹[laravel项目的根目录]中执行如下命令: PHP工匠优化:清除
这个命令清除所有的缓存,当我刷新我的网页,最终它更新了所有的变化。
希望这能帮助像我这样受困的灵魂:)
编辑:如果我有50个名声,我会把这条评论贴在一个已经存在的答案上。[到目前为止我只有43个]
我也有这个问题。
找不到nginx/cache文件夹 发送文件已关闭
我的域名使用cloudflare.com进行DNS(很棒的服务!)啊哈!就是这样:
cloudflare.com ->缓存->清除缓存(我清除了一切) 这解决了我的问题!
我运行了一个非常简单的bash脚本,它只需要10秒钟就可以完成工作,完成后会给我发一封邮件。
#!/bin/bash
sudo service nginx stop
sudo rm -rf /var/cache/nginx/*
sudo service nginx start | mail -s "Nginx Purged" me@gmail.com
exit 0
这个问题有两个答案。
一个用于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;
}