nginx服务器上未显示CSS和.js文件的更新

nginx服务器上未显示CSS和.js文件的更新,nginx,vagrant,Nginx,Vagrant,我遵循了一个教程,在一个流浪的虚拟机上运行了一个nginx服务器(使用Chef作为供应器)。我只有一个html页面,index.html,如果我对其进行更改并运行vagrant provision,这些更改将在我进入浏览器中的页面时反映出来。但是,我还有一个nginx提供的css和js文件,如果我对它们进行了更改,即使在重新加载VM之后,这些更改也不会反映在页面上。尽管我可以使用SSH连接到虚拟机中,并验证文件的较新版本是否确实在虚拟机上,但仍然存在这种情况。我搞不清楚,当我在进行更改时重写旧文

我遵循了一个教程,在一个流浪的虚拟机上运行了一个nginx服务器(使用Chef作为供应器)。我只有一个html页面,
index.html
,如果我对其进行更改并运行
vagrant provision
,这些更改将在我进入浏览器中的页面时反映出来。但是,我还有一个nginx提供的css和js文件,如果我对它们进行了更改,即使在重新加载VM之后,这些更改也不会反映在页面上。尽管我可以使用SSH连接到虚拟机中,并验证文件的较新版本是否确实在虚拟机上,但仍然存在这种情况。我搞不清楚,当我在进行更改时重写旧文件时,VM是如何访问旧文件的。也许我的nginx配置文件有问题?以下是:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /home/vagrant/project/webroot;
    index index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

我将所有3个文件(js、css和html)存储在虚拟机的
webroot
中。正如我所说,我可以使用SSH连接并验证它们是否都在应该在的位置,所以我认为这一定是配置问题。我需要为css和js文件做一些特殊的操作吗?

你确定你的浏览器没有缓存旧的css和js文件吗?

你确定你的浏览器没有缓存旧的css和js文件吗?

1)你可以将缓存控制头添加到Nginx配置中

location ~* ^.+\.(js|css)$ {
    #old style: add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
    #old style: add_header Pragma "no-cache";
    expires -1;
    sendfile off; #if you're using virtualbox (it is not about cache, but you will need it) https://www.vagrantup.com/docs/synced-folders/virtualbox.html 
}
1) 您可以将缓存控制头添加到Nginx配置中

location ~* ^.+\.(js|css)$ {
    #old style: add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
    #old style: add_header Pragma "no-cache";
    expires -1;
    sendfile off; #if you're using virtualbox (it is not about cache, but you will need it) https://www.vagrantup.com/docs/synced-folders/virtualbox.html 
}

我该怎么查呢?我想只是清理缓存?如果有区别的话,我会使用Chrome。请尝试以匿名方式加载该网站或先清除缓存。您可以使用开发工具检查缓存的CSS文件何时过期。此链接可能有助于我如何检查?我想只是清理缓存?如果有区别的话,我会使用Chrome。请尝试以匿名方式加载该网站或先清除缓存。您可以使用开发工具检查缓存的CSS文件何时过期。此链接可能有助于完成此操作!非常感谢你,我在这件事上真的很生气。上面的意思是静态文件永远不会被缓存。每次浏览器调用都会发送静态文件。正如@Kilizo所提到的,这个问题应该与浏览器端的缓存有关。上述修复程序可能已经修复了您的问题,但它可能会使您的nginx服务器在每次浏览器请求时发送文件。(无缓存)。这里有更多细节。就这样!非常感谢你,我在这件事上真的很生气。上面的意思是静态文件永远不会被缓存。每次浏览器调用都会发送静态文件。正如@Kilizo所提到的,这个问题应该与浏览器端的缓存有关。上述修复程序可能已经修复了您的问题,但它可能会使您的nginx服务器在每次浏览器请求时发送文件。(无缓存)。这里有更多细节。和