nginx靜態資源快取策略配置

2021-10-05 07:25:09 字數 1079 閱讀 2728

乍一看,客戶原來的配置好像沒什麼問題,該有的也全有了

# 這是客戶原來的配置

server

location ~ .*\.(?:js|css)$

location ~ .*\.(?:htm|html)$

location ^~/mobile/

}

乍看沒問題,但就是沒有生效,由於查詢nginx文件,發現nginx的location有優先順序之分(是否生效與放置的位置沒有關係)。

【=】模式: location = path,此種模式優先順序最高(但要全路徑匹配)

【^~】模式:location ^~ path,此種模式優先順序第二高於正則;

【~ or ~*】模式:location ~ path,正則模式,優先順序第三,【~】正則匹配區分大小寫,【~*】正則匹配不區分大小寫;

【path】模式: location path,中間什麼都不加,直接跟路徑表示式;

注意:一次請求只能匹配乙個location,一旦匹配成功後,便不再繼續匹配其餘location;

一對照,發現location ^~優先順序高於那些正則的快取策略,所以快取策略肯定不會對其生效,一翻查詢下,終於解決了,配置如下:

}}上面的配置雖然解決了快取問題,但一看就發現冗餘**較多,應該不是最佳實踐,於是請教了前公司專業運維同事,優化後的配置如下:

server 

location ~ .*\.(?:js|css)$

location ~ .*\.(?:htm|html)$

}

Nginx配置快取靜態資源

proxy cache path nginx cache mall levels 1 2 keys zone mall 20m max size 1g server location cache error page 404 404.html location 40x.html error page...

Nginx的靜態資源快取配置

nginx靜態資源快取 問題的產生 每個頁面都會映入css js等靜態資源檔案 解決的問題 避免每次請求,伺服器都會處理靜態資源 css,js,所帶來的壓力 解決步驟 修改nginx.conf的相關配置 1.在http中做全域性配置 臨時資料夾,用於存放暫時存放檔案 proxy time path ...

Nginx 靜態資源快取設定

在開發除錯web的時候,經常會碰到因瀏覽器快取 cache 而經常要去清空快取或者強制重新整理來測試的煩惱,提供下apache不快取配置和nginx不快取配置的設定。在常用的快取設定裡面有兩種方式,都是使用add header來設定 分別為cache control和pragma。nginx loc...