Nginx 開啟Gzip 壓縮

為你的網站開啟Gzip 壓縮,有效節省30%流量,提高訪問速度! Gzip 是網站壓縮加速的技術,對於開啟後可以加快我們網站的開啟速度,原理是經過伺服器壓縮,客戶端瀏覽器快速解壓縮的原理,可以大大減少了網站的流量。 Nginx開啟Gzip 壓縮功能後, 會大大提高nginx存取性能!

為你的網站開啟Gzip 壓縮,有效節省30%流量,提高訪問速度

是網站壓縮加速的一種技術,對於開啟後可以加快我們網站的開啟速度,原理是經過伺服器壓縮,客戶端瀏覽器快速解壓縮的原理,可以大幅減少了網站的流量。

Nginx開啟Gzip 壓縮功能, 可以使網站的css、js 、xml、html 文件以及大文件,因為壓縮效果不好,所以對於圖片沒有必要支壓縮,如果想要優化,可以圖片的生命端設置長一點,讓客戶端來設置緩存。 開啟Gzip 功能後,Nginx伺服器會根據配置的策略對發送的內容, 如css、js、xml、html等靜態資源進行壓縮, 使得這些內容大小減少,在用戶接收到返回內容之前對其進行處理,以壓縮後的資料展現給客戶。這樣不僅可以節省大量的出口頻寬,提高傳輸效率,還能提升用戶快的感知體驗, 一舉兩得; 儘管會消耗一定的cpu資源,但是為了給用戶更好的體驗還是值得的。

Gzip 設定參數

經過後頁面大小可以變成原來的30%甚至更小,這樣,使用者瀏覽頁面的時候速度會快得多。 Gzip 的壓縮頁面需要瀏覽器和伺服器雙方都支持,實際上就是伺服器端壓縮,傳到瀏覽器後瀏覽器解壓縮並解析。瀏覽器那裡不需要我們擔心,因為目前的巨大多數瀏覽器都支援解析Gzip過的頁面。

Gzip壓縮作用:將回應封包⽂發送⾄客戶端之前可以啟動⽤壓縮功能,這能夠有效地節約頻寬,並提⾼回應⾄客戶端的速度。 Gzip壓縮可以設定http,server和location模組下。 Nginx開啟Gzip壓縮設定參數說明:

gzip on; #是否開啟gzip模組on表示開啟off表示關閉gzip_buffers 4 16k; #設定壓縮所需的緩衝區大小gzip_comp_level 6; #壓縮等級1-9,數位越大壓縮的1.1; #設定壓縮http協定的版本,預設是1.1 gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/script application/x-httpd-php image/jpeg image/appnage/script application/x-httpd-php image/jpeg image/appnage/poom/poonft/pectm/pectm-poo-pakm-pakm-pakm-pakm-poo-pakm-pakm/p.問題/poo 1 月/p; font/x-woff image/svg+xml; #設定壓縮的檔案類型gzip_vary on; #加上http頭資訊Vary: Accept-Encoding給後端代理伺服器辨識是否啟用gzip 壓縮gzip_disable "MSIE [1-6]\."; 15TTable 壓縮gzip_disable "MSIE [1-6]\."; 15T。此處表示ie6及以下不啟用gzip(因為ie低版本不支援) gzip_proxied off; #nginx做為反向代理時啟用,off(關閉所有代理結果的資料的壓縮),expired(啟用壓縮,如果header頭中包含"Expires"頭資訊),no-cache(expired(),noache(pache,):noache"no-store(啟用壓縮,header頭中包含"Cache-Control:no-store"),private(啟用壓縮,header頭中包含"Cache-Control:private"),no_last_modefied(啟用壓縮,header頭中不包含  "Last-Modified"),no_etag(啟用壓縮,如果header頭中不包含"Etag"頭資訊),auth(啟用壓縮,如果header頭中包含"Authorization"頭資訊)

編輯nginx設定檔

[root@uzbox ~]# vim /usr/local/nginx/conf.d/www.conf http { gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_bun_level 9; [1-6]\."; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/xd-m-fm-fm-fm-f fion-f fel-f fid-m-fmmm-fmmo-f fooo-fm-fm-fm-f fid-m-fm-fmm-f fooo-fmmm-fm-fmm-f fel-fmmr. image/svg+xml; }

重載設定檔

systemctl reload nginx

 

偵測Gzip 是否開啟

[root@uzbox ~]# curl -I -H"Accept-Encoding: gzip, deflate" "https://uzbox.com" HTTP/2 200 server: nginx/1.18.0 date: Wed, 30 Nov 2022 05:19:05 Gcontent-120, 203:2022 05:19:05 G11-7:059 40429 x-powered-by: PHP/7.4.19 vary: Accept-Encoding, Cookie cache-control: max-age=3, must-revalidate content-encoding: gzip last-modified: Wed, 30 Nov 2022 04:27:54 G0030 G05030 G003:5000 Gmax-strict.

如上,response header頭資訊中出現"Conten_Encoding: gzip" , 就表示Nginx已開啟了壓縮(在瀏覽器存取, 透過F12看請求的回應頭部也是一樣)

Nginx開啟Gzip 壓縮功能後, 定義的gzip type的檔案在傳輸時的大小明顯變小, 這樣這會大大提高nginx存取性能.

網頁GZIP 壓縮偵測

透過下面網站可以偵測Gzip壓縮情況。

https://tool.chinaz.com/gzips/

評分

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *