用Nginx做靜態資源伺服器,但是發現一個悲劇。 我已經更新了root目錄下的資源文件,是個css文件,但是訪問的時候還是個舊的。 肯定不是瀏覽器緩存,換了瀏覽器已經。 。 。 Nginx重啟了都不行,Nginx快取怎麼這麼詭異,怎麼辦。
首先,你肯定是設定了proxy_cache_path,nginx如果沒有設定這個參數,是不會快取任何檔案的。 若要清除配置,要刪除proxy_cache_path配置的目錄下的所有檔案。
find /proxy/cache/path -type f -delete
重啟Nginx是沒用的
nginx的快取服務proxy_cache不能清除指定的URL緩存,只能設定URL過期時間,要清除指定URL可以用nginx第三方模組ngx_cache_purge。 nginx安裝時需要將ngx_cache_purege載入進去。
./configure --user=www --group=www --add-module=/root/dxm/nginx/ngx_cache_purge-1.2
使用memc-nginx和srcache-nginx模組建立高效透明的快取機制http://www.qixing318.com/article/using-memc-nginx-and-srcache-nginx-module-build-efficient-and-transparent -caching-mechanism.html
如果你在用virtualBox 那有可能是這個原因
VirtualBox Hates Sendfile 修改配置 sendfile off;
謝謝樓上的!我的就是這個問題導致的,把sendfile改成OFF後就好了!
首先,你肯定是設定了proxy_cache_path,nginx如果沒有設定這個參數,是不會快取任何檔案的。
若要清除配置,要刪除proxy_cache_path配置的目錄下的所有檔案。
重啟Nginx是沒用的
nginx的快取服務proxy_cache不能清除指定的URL緩存,只能設定URL過期時間,要清除指定URL可以用nginx第三方模組ngx_cache_purge。
nginx安裝時需要將ngx_cache_purege載入進去。
使用memc-nginx和srcache-nginx模組建立高效透明的快取機制
http://www.qixing318.com/article/using-memc-nginx-and-srcache-nginx-module-build-efficient-and-transparent -caching-mechanism.html
如果你在用virtualBox 那有可能是這個原因
VirtualBox Hates Sendfile
修改配置 sendfile off;
謝謝樓上的!我的就是這個問題導致的,把sendfile改成OFF後就好了!