nginx如何開通gzip壓縮傳輸文件
一、簡介
gzip是一種改進(jìn)web應(yīng)用程序性能的技術(shù),文件壓縮后再傳輸可以減少傳輸數(shù)據(jù),提升傳輸速度。
在Nginx服務(wù)器上開啟Gzip壓縮可以有效減少網(wǎng)絡(luò)傳輸流量,提升網(wǎng)站性能。
是否支持gzip
服務(wù)端將響應(yīng)頭設(shè)置上 Content-encoding: gzip,表示當(dāng)前資源會使用 gzip 壓縮,提示客戶端解壓使用。
當(dāng)然前提是客戶端支持該壓縮算法,服務(wù)端會通過客戶端發(fā)送的請求頭中的 Accept-Encoding 字段來確定是否支持。
什么樣的數(shù)據(jù)需要用Gzip壓縮
Gzip壓縮適用于文本文件類型,特別是那些具有較高的重復(fù)性和冗余性的文件:
- HTML文件:HTML文件通常包含大量的標(biāo)記和文本內(nèi)容,其中有很多重復(fù)的標(biāo)簽和文本片段。通過對HTML文件進(jìn)行Gzip壓縮,可以大大減少文件大小,提高傳輸效率。
- CSS文件:CSS文件包含了網(wǎng)頁的樣式信息,其中包括選擇器、屬性和值等。由于CSS文件通常較大,并且具有大量的重復(fù)內(nèi)容,使用Gzip壓縮可以顯著減小文件大小。
- JavaScript文件:JavaScript文件包含了網(wǎng)頁的交互邏輯和功能代碼。JavaScript文件通常較大,通過Gzip壓縮可以減少文件大小,提高加載速度。
- JSON文件:JSON是一種常用的數(shù)據(jù)交換格式,用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。由于JSON文件通常包含大量的文本數(shù)據(jù),使用Gzip壓縮可以減少數(shù)據(jù)傳輸量,提高傳輸效率。
- XML文件:XML文件用于存儲和傳輸結(jié)構(gòu)化數(shù)據(jù),其中包含了標(biāo)簽、屬性和文本內(nèi)容。通過對XML文件進(jìn)行Gzip壓縮,可以減少文件大小,提高傳輸速度。
對于已經(jīng)經(jīng)過壓縮的文件(如圖片、音視頻文件等),再次使用Gzip壓縮通常不會帶來顯著的效果,甚至可能導(dǎo)致壓縮后的文件更大。
二、Nginx服務(wù)器配置
2.1 安裝和配置Nginx服務(wù)器
sudo apt-get update sudo apt-get install nginx
2.2 開啟Gzip模塊
在Nginx配置文件中的http塊內(nèi)添加以下內(nèi)容:
http { gzip on; gzip_types text/plain application/javascript; }
這里的gzip on表示開啟gzip壓縮,gzip_types指定需要進(jìn)行壓縮的文件類型,例如text/plain表示純文本文件,application/javascript表示JavaScript文件。
三、Gzip壓縮配置
3.1 壓縮文件類型配置
gzip_types用于指定需要進(jìn)行壓縮的文件類型,例如text/html表示HTML文件,text/css表示CSS文件,application/json表示JSON文件。
gzip_vary on表示在響應(yīng)頭中添加Vary字段,用于緩存服務(wù)器根據(jù)Accept-Encoding字段進(jìn)行緩存策略的選擇。
http { gzip_types text/html text/css application/json; gzip_vary on; }
3.2 壓縮級別配置
gzip_comp_level用于指定壓縮級別,取值范圍為1-9,級別越高壓縮比越大,但壓縮時間也會增加。
http { gzip_comp_level 5; }
3.3 壓縮緩沖配置
gzip_buffers用于指定壓縮時使用的緩沖區(qū)數(shù)量和大小,這里的配置表示使用16個緩沖區(qū),每個緩沖區(qū)大小為8KB。
gzip_disable用于指定不使用gzip壓縮的瀏覽器,這里的配置表示禁止對IE6及以下版本進(jìn)行壓縮。
http { gzip_buffers 16 8k; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; }
四、Gzip壓縮效果驗證
開啟gzip壓縮后,可以通過瀏覽器的開發(fā)者工具來驗證壓縮效果。
打開開發(fā)者工具的Network選項卡,選擇一個請求并查看其響應(yīng)頭,如果響應(yīng)頭中包含Content-Encoding: gzip,則表示該資源已經(jīng)使用gzip進(jìn)行了壓縮。
- 開啟前
- 開啟后
總結(jié)
文件大小縮小了一倍多,效果非常明顯
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
LNMP 解決Access Denied錯誤詳細(xì)介紹
這篇文章主要介紹了LNMP 解決Access Denied錯誤詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10Nginx服務(wù)器實現(xiàn)通過ip和user_gent限制訪問的方法分析
這篇文章主要介紹了Nginx服務(wù)器實現(xiàn)通過ip和user_gent限制訪問的方法,結(jié)合實例形式分析了Nginx通過限制ip和user_gent限制訪問來過濾DDOS攻擊的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07windows系統(tǒng)下關(guān)閉Nignx的多種方式總結(jié)
這篇文章主要給大家總結(jié)介紹了windows系統(tǒng)下關(guān)閉Nignx的多種方式, 在Windows中啟動Nginx是簡單的,但有許多小伙伴不會關(guān)閉,這里給大家介紹下,需要的朋友可以參考下2023-08-08Nginx配置統(tǒng)計流量帶寬請求及記錄實時請求狀態(tài)的方法
這篇文章主要介紹了Nginx中配置統(tǒng)計流量帶寬請求及記錄實時請求狀態(tài)的方法,分別用到了ngx_req_status和ngx_realtime_request模塊,需要的朋友可以參考下2016-01-01Nginx upstream的5種權(quán)重分配方式分享
Nginx upstream的5種權(quán)重分配方式分享,需要的朋友可以參考下2012-09-09Nginx開啟一個參數(shù)就能讓你的WEB性能提升3倍的方法
這篇文章主要介紹了Nginx開啟一個參數(shù)就能讓你的WEB性能提升3倍的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03