Nginx開啟Gzip壓縮功能, 可以使網站的css、js 、xml、html 文件在傳輸時進行壓縮,提高訪問速度,! Web網站上的圖片,視頻等其它多媒體文件以及大文件,因為壓縮效果不好,所以對於圖片沒有必要壓縮,如果想要優化,可以圖片的生命周期設置長一點,讓客戶端來緩存。 開啟Gzip功能后,Nginx服務器會根據配置的策略對發送的內容, 如css、js、xml、html等靜態資源進行壓縮, 使得這些內容大小減少,在用戶接收到返回內容之前對其進行處理,以壓縮后的數據展現給客戶。這樣不僅可以節約大量的出口帶寬,提高傳輸效率,還能提升用戶體驗。
gzip壓縮作用:將響應報⽂發送⾄客戶端之前可以啟⽤壓縮功能,這能夠有效地節約帶寬,並提⾼響應⾄客戶端的速度。
gzip配置域:http,server和location模塊。
配置參數:
#gzip模塊設置
#開啟gzip壓縮輸出
gzip on;
#最小壓縮文件大小
gzip_min_length 1k;
#壓縮緩沖區
gzip_buffers 4 16k;
#壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
gzip_http_version 1.0;
#壓縮等級
gzip_comp_level 2;
#壓縮類型,默認就已經包含text/html,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn。
gzip_types text/plain application/x-javascript text/css application/xml;
#選擇支持vary header,可以讓前端的緩存服務器緩存經過gzip壓縮的頁面;
gzip_vary on;
通過curl命令測試:curl -I -H "Accept-Encoding: gzip, deflate" http://www.imcati.com/index.html
關閉壓縮功能:
Nginx的Gzip壓縮功能雖然好用,但是下面兩類文件資源不太建議啟用此壓縮功能:
1) 圖片類型資源 (還有視頻文件)
原因:圖片如jpg、png文件本身就會有壓縮,因此開啟gzip后,壓縮前和壓縮后大小沒有多大區別,反而會白白的浪費資源。
2) 大文件資源
原因:會消耗大量的cpu資源,且不一定有明顯的效果。