我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。
我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。
一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。
我现在该怎么办?
当前回答
好吧,在常见的缓存问题的情况下(浏览器缓存,代理缓存,web服务器缓存),你可以使用常见的缓存问题的决定,如CSS或JS文件的很少变化的内容-通过添加一个URI参数到他们的链接:
不<link rel="stylesheet" type="text/css" href="https://example.com/stacks.css">
但是<link rel="stylesheet" type="text/css" href="https://example.com/stacks.css?v=3b16a418cc4c">
就像StackOverflow一样。:)
其他回答
除非你通过proxy_cache_path配置了一个缓存区,然后使用它(例如在一个位置块中),通过: Proxy_cache不会缓存任何东西。
然而,如果你这样做了,那么根据nginx的作者,简单地从缓存目录中删除所有文件就足够了。
最简单的方法:find /path/to/your/cache -type f -delete
这个回答主要是一个总结:
Expires, Age, Cache-Control都是HTTP的概念 查看这些链接:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Age https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#caching_static_assets_with_cache_busting
Nginx设置相同,检查下面的链接:
https://nginx.org/en/docs/http/ngx_http_headers_module.html
不缓存,下面可能会有帮助:(可以设置更少的时间缓存重新验证更快):
expires 0;
add_header Cache-Control private;
清除缓存。 . 删除缓存目录下的文件(/var/nginx/cache/) . 重新加载(不是重新启动)nginx - nginx -s重新加载 见https://forum.nginx.org/read.php?2, 2600年、2602年
我们使用nginx缓存很多东西。缓存目录中有成千上万的项。为了查找并删除项目,我们开发了一些脚本来简化这个过程。你可以在下面找到包含这些脚本的代码库的链接:
https://github.com/zafergurel/nginx-cache-cleaner
这个想法很简单。创建缓存的索引(包含缓存键和相应的缓存文件),并在该索引文件中进行搜索。它确实帮助我们加快了查找项目的速度(从几分钟到亚秒),并相应地删除它们。
已经有很多答案了,但我认为我有一个有用的补充;
我正在用Hyper-V运行一个Homestead盒子,我有一个laravel项目,并在nginx上运行。
我在/etc/的nginx文件夹中没有缓存
当我访问我的网站时,我得到了服务器旧视图和css文件。
什么解决了它为我搜索浪费了很多时间看我的nginx配置和尝试的东西是使用PHP工匠。
在artisan安装的文件夹[laravel项目的根目录]中执行如下命令: PHP工匠优化:清除
这个命令清除所有的缓存,当我刷新我的网页,最终它更新了所有的变化。
希望这能帮助像我这样受困的灵魂:)
编辑:如果我有50个名声,我会把这条评论贴在一个已经存在的答案上。[到目前为止我只有43个]
在我的服务器上,nginx缓存文件夹在/data/nginx/cache/
所以我只删除了它:sudo rm -rf /data/nginx/cache/
希望这对大家有所帮助。