濮阳杆衣贸易有限公司

主頁 > 知識庫 > Nginx基于gzip壓縮提高訪問速度

Nginx基于gzip壓縮提高訪問速度

熱門標(biāo)簽:網(wǎng)站上插入地圖標(biāo)注內(nèi)容 重慶營銷外呼系統(tǒng)排名 鶴壁電銷外呼系統(tǒng)怎么安裝 工廠位置地圖標(biāo)注 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 繽客網(wǎng)注冊時地圖標(biāo)注出不來 400電話辦理哪家好廠商 企業(yè)400電話辦理哪正規(guī) 地圖標(biāo)注需要現(xiàn)場嗎

一.為什么nginx要使用gzip

1,壓縮的作用:

頁面使用gzip壓縮之后,

頁面大小可以壓縮到原來的1/7左右,

傳輸速度和頁面打開時間都可以大幅度提高,

有利于用戶訪問頁面體驗的提升

2,Nginx實現(xiàn)gzip壓縮的原理:

通過ngx_http_gzip_module模塊攔截請求,

并對需要做gzip的類型做gzip壓縮

3, ngx_http_gzip_module是Nginx默認(rèn)集成的,

不需要重新編譯,直接開啟即可

源碼:https://github.com/liuhongdi/

二.gzip模塊使用例子

gzip on;
 gzip_min_length 1k;
 gzip_disable "MSIE [1-6]\.";
 gzip_comp_level 5;
 gzip_types text/css text/javascript text/xml text/plain application/json application/javascript application/x-javascript application/xml application/xml+rss;
 gzip_http_version 1.1;

各個指令的說明:

gzip on;

開啟gzip模式,

默認(rèn)值是off,就是不啟用gzip壓縮功能

當(dāng)然是要把它設(shè)置為on了

gzip_min_length 1k;

設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取。

太小的文件內(nèi)容壓縮之后效果不明顯,甚至?xí)炔粔嚎s時更大。

默認(rèn)值是20,這個值過小,

一般設(shè)置為長度不小于1k

gzip_disable

IE6對Gzip支持效果較差,所以針對它不啟用

gzip_comp_level :

gzip 壓縮級別,1-9,

數(shù)字越大壓縮的比例越高,但也越占用CPU時間

它的默認(rèn)值是1,通常會設(shè)置為5或6

如果cpu占用高,設(shè)置為2或3也可以

gzip_http_version :

設(shè)置gzip壓縮所支持的最小HTTP版本,

如果低于該版本不使用gzip壓縮。

默認(rèn)值是1.1

一般使用1.1。

gzip_types :

針對哪些類型的頁面才啟用gzip壓縮,有多個值則用空格分隔。

通配符*可以匹配任意類型,但不要用這個值。

只有js/css/html/text這幾類內(nèi)容壓縮才有明顯的效果,

圖片和視頻等本身經(jīng)過壓縮算法處理過的文件啟用壓縮也沒有明顯效果。

1,不管是否指定text/html類型,該類型的響應(yīng)總是啟用壓縮,

所以這個值可以不用寫上

2,這些文件類型對應(yīng)的mime-type可以參考nginx/conf/mime.types文件

3,常用的9個值:

text/css text/javascript text/xml text/plain

application/json application/javascript application/x-javascript

application/xml application/xml+rss

三.例子中未用到的其他設(shè)置項:

gzip_buffers 4 16k;

gzip_vary on;

gzip_proxied any;

gzip_vary:

vary header支持,

on的話會在Header里增加"Vary: Accept-Encoding"

這個值可以讓前端的緩存服務(wù)器緩存經(jīng)過GZIP壓縮的頁面,

例如用Squid緩存經(jīng)過nginx壓縮的數(shù)據(jù)

如果在nginx前端使用了squid或varnish,

可以設(shè)置此值為on

gzip_proxied

nginx 做前端代理時啟用該選項,

如果值是 any, 表示無論后端服務(wù)器的headers頭返回什么信息,

都無條件啟用壓縮

如果用了nginx作反向代理,

設(shè)置此值為any

gzip_buffers:

設(shè)置用于處理壓縮的緩沖區(qū)大小。

默認(rèn)值:32 4k|16 8k

32 4k代表以4k為單位將響應(yīng)數(shù)據(jù)以4k的32倍(128k)的大小申請內(nèi)存。

建議此項不設(shè)置,使用默認(rèn)值

四.查看gzip的壓縮效果

1,使用curl查看

#-I, --head Show document info only 只顯示頭信息

#-H,--header LINE: Pass custom header LINE to server (H) 自定義請求頭的信息

[root@localhost curl]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.lhdtest.net
HTTP/1.1 200 OK
Server: openresty
Date: Mon, 27 Apr 2020 07:59:38 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: SESSID_WEB=0ks2eh03vmv4dhje29ggojl1bs; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Encoding: gzip

說明:看到Conten_Encoding: gzip則表示gzip壓縮已生效

2,通過瀏覽器查看效果

從瀏覽器端響應(yīng)頭信息看gzip是否生效:

看截圖:壓縮前和壓縮后的效果對比:

壓縮前:

壓縮后:

說明:我使用的是firefox的web控制臺,大家也可用yslow之類的插件試試

五.查看nginx的版本:

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:日照 鹽城 96 東莞 渭南 常州 棗莊 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx基于gzip壓縮提高訪問速度》,本文關(guān)鍵詞  Nginx,基于,gzip,壓縮,提高,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx基于gzip壓縮提高訪問速度》相關(guān)的同類信息!
  • 本頁收集關(guān)于Nginx基于gzip壓縮提高訪問速度的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    白山市| 来凤县| 眉山市| 天台县| 新乡县| 巴塘县| 曲麻莱县| 鲜城| 浦北县| 石阡县| 阿坝县| 新蔡县| 本溪市| 汨罗市| 樟树市| 平凉市| 苍山县| 闵行区| 宜阳县| 紫云| 乌兰察布市| 太湖县| 万年县| 靖西县| 墨竹工卡县| 高青县| 江西省| 石阡县| 浠水县| 万载县| 香河县| 包头市| 南雄市| 北宁市| 和静县| 大理市| 闽侯县| 介休市| 大悟县| 交城县| 信宜市|