我使用nginx作为前端服务器,我已经修改了CSS文件,但nginx仍然服务于旧的。

我尝试重新启动nginx,没有成功,我已经谷歌了,但没有找到一个有效的方法来清除它。

一些文章说我们可以删除缓存目录:var/cache/nginx,但在我的服务器上没有这样的目录。

我现在该怎么办?


当前回答

在我的服务器上,nginx缓存文件夹在/data/nginx/cache/

所以我只删除了它:sudo rm -rf /data/nginx/cache/

希望这对大家有所帮助。

其他回答

我也有这个问题。

找不到nginx/cache文件夹 发送文件已关闭

我的域名使用cloudflare.com进行DNS(很棒的服务!)啊哈!就是这样:

cloudflare.com ->缓存->清除缓存(我清除了一切) 这解决了我的问题!

你可以在nginx.conf中添加如下配置。

...
http {
proxy_cache_path  /tmp/nginx_cache levels=1:2 keys_zone=my-test-cache:8m max_size=5000m inactive=300m;

server {
    proxy_set_header X- Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_cache my-test-cache;
    proxy_cache_valid  200 302  1m;
    proxy_cache_valid  404      60m;
    proxy_cache_use_stale   error timeout invalid_header updating;
    proxy_redirect off;

    ....
}
...
}

在上面,在/tmp/中动态创建了一个名为“nginx_cache”的文件夹来存储缓存的内容。

我发现这很有用

grep -lr 'jquery.js' /path/to/nginx/cache/folder/* | xargs rm

搜索,如果找到就删除。

我也遇到过类似的问题:

系统设置和问题: (在virtualbox上,我使用ubuntu和nginx - PHP网页刷新没有反映到外部css文件的更改)。我正在windows机器上开发网站,并通过共享文件夹将文件传输到nginx。nginx似乎没有接收css文件的更改(以任何方式刷新都没有帮助。改变css文件名是唯一的工作)

解决方案: 在VM上找到共享文件(在我的情况下是css文件)。用nano打开并与windows共享中的文件进行比较(它们看起来是相同的)。在VM上使用nano保存共享文件。所有更改现在都反映在浏览器中。不知道为什么这样做,但它确实在我的情况下。

更新:重启虚拟机服务器后,问题返回。遵循解决方案下的说明使css再次响应更新

find /etc/nginx/cache_folder -type d -exec rm -rvf {} \;
mkdir /etc/nginx/cache_folder
service nginx restart

注意正确指定正确的路径。