Nginx 筆記與總結(14)expires 緩衝設定

來源:互聯網
上載者:User

標籤:

設定緩衝,可以提高網站效能。

當網站的部分內容,比如新聞站的圖片,一旦發布就不太可能發生更改,此時需要使用者在訪問一次頁面之後,把該頁面的圖片緩衝在使用者的瀏覽器端一段時間,就可以用到 nginx 的 expires 設定。

 

expires 的文法參見:http://nginx.org/en/docs/http/ngx_http_core_module.html

location = /images/default.gif {    expires 30s; # 30m:30 分鐘,2h:2 小時,30d:30 天}

expires 的上下文包括 location、if in location

 

【例】

訪問 http://192.168.254.100/

圖片 nginx.png 的響應狀態是 200 ok

此時圖片的 http 頭資訊:

 

再次重新整理該頁面

圖片 nginx.png 的響應狀態是 304 Not Modified,即來自瀏覽器緩衝

此時圖片的的 http 頭資訊:

 

雖然圖片該次是從瀏覽器緩衝中讀取,但是瀏覽器仍然像伺服器發出了一次 http 請求

如果要實現在一定時間內,瀏覽器不需要向伺服器發送 http 請求,而直接從本機快取中讀取圖片,可以在 nginx.conf 中進行配置:

[[email protected] nginx]# vim conf/nginx.conf

nginx.conf(添加 location 段 或者 修改 location ~ image ):

        location ~ image {            root /var/www/;
expires 1d; index index.html; }

平滑重啟 nginx

 

強刷(ctrl+f5)該頁面,此時圖片的 http 響應資訊:

86400 是 1 天的秒數。

 

再次重新整理該頁面(按瀏覽器的重新整理按鈕):

 

 

在地址欄斷行符號重新整理頁面:

 沒有產生實際請求。

 

在 chrome 瀏覽器下,通過地址欄斷行符號重新整理頁面時的 http 響應資訊:

 

 from cache 表名沒有產生實際請求。

 

修改 location ~ image 或者 添加 location,使緩衝圖片不僅限於 image 檔案夾,而是網站中所有的 png|jpg|jpeg|gif (不區分大小寫)圖片都進行緩衝設定:

        location ~* \.(jpg|jpeg|png|gif){            expires 1d;        }

平滑重啟 nginx。

 

驗證:訪問 ecshop 目錄下的某個圖片

 沒有產生實際請求。

 

點擊瀏覽器重新整理按鈕,查看該圖片的 http 回應標頭資訊:

說明此次 location 配置成功。

 

Nginx 筆記與總結(14)expires 緩衝設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.