Nginx系列5:nginx服務(wù)器的Gzip壓縮

nginx服務(wù)器的gzip壓縮配置谢鹊,主要是由ngx_http_gzip_module模塊處理的9個指令實(shí)現(xiàn)的算吩,負(fù)責(zé)Gzip功能的開啟和設(shè)置,對響應(yīng)的數(shù)據(jù)進(jìn)行在線實(shí)時壓縮佃扼。

1. 配置指令詳細(xì)注釋

  • gzip on|off 開啟或者關(guān)閉gzip功能

  • gzip_buffers 32 4k | 16 8k 默認(rèn)值: gzip_buffers 4 4k/8k
    設(shè)置系統(tǒng)獲取幾個單位的緩存用于存儲gzip的壓縮結(jié)果數(shù)據(jù)流偎巢。 例如 4 8k 代表以8k為單位的4倍申請內(nèi)存。

  • gzip_comp_level 4 默認(rèn)值:1(建議選擇為4)
    gzip壓縮比/壓縮級別兼耀,壓縮級別 1-9压昼,級別越高壓縮率越大杯聚,當(dāng)然壓縮時間也就越長(比較消耗cpu)癌椿。

  • gzip_types mime-type ... 默認(rèn)值: gzip_types text/html (默認(rèn)不對js/css文件進(jìn)行壓縮)
    一般情況下,在壓縮常規(guī)文件時可以設(shè)置為:
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript;
    注意: 圖片/mp3這樣的二進(jìn)制文件,不必壓縮啊央。因?yàn)閴嚎s率比較小, 比如100->80字節(jié),而且壓縮也是耗費(fèi)CPU資源的拯坟。

  • gzip_min_length 1k 默認(rèn)值: 0 但金,不管頁面多大都壓縮
    設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取郁季。建議設(shè)置成大于1k的字節(jié)數(shù)冷溃,小于1k可能會越壓越大。

  • gzip_http_version 1.0|1.1 默認(rèn)值: gzip_http_version 1.1(就是說對HTTP/1.1協(xié)議的請求才會進(jìn)行g(shù)zip壓縮)
    注:99.99%的瀏覽器基本上都支持gzip解壓了梦裂。但是假設(shè)我們使用的是默認(rèn)值1.1似枕,如果我們使用了proxy_pass進(jìn)行反向代理,那么nginx和后端的upstream server之間是用HTTP/1.0協(xié)議通信的年柠,如果我們使用nginx通過反向代理做Cache Server菠净,而且前端的nginx沒有開啟gzip,同時彪杉,我們后端的nginx上沒有設(shè)置gzip_http_version為1.0毅往,那么Cache的url將不會進(jìn)行g(shù)zip壓縮

  • gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...默認(rèn)值:off
    Nginx作為反向代理的時候啟用,開啟或者關(guān)閉后端服務(wù)器返回的結(jié)果派近,匹配的前提是后端服務(wù)器必須要返回包含"Via"的 header頭攀唯。
    off - 關(guān)閉所有的代理結(jié)果數(shù)據(jù)的壓縮
    expired - 啟用壓縮,如果header頭中包含 "Expires" 頭信息
    no-cache - 啟用壓縮渴丸,如果header頭中包含 "Cache-Control:no-cache" 頭信息
    no-store - 啟用壓縮侯嘀,如果header頭中包含 "Cache-Control:no-store" 頭信息
    private - 啟用壓縮,如果header頭中包含 "Cache-Control:private" 頭信息
    no_last_modified - 啟用壓縮,如果header頭中不包含 "Last-Modified" 頭信息
    no_etag - 啟用壓縮 ,如果header頭中不包含 "ETag" 頭信息
    auth - 啟用壓縮 , 如果header頭中包含 "Authorization" 頭信息
    any - 無條件啟用壓縮

  • gzip_vary on | off
    開啟時谱轨,將帶著 'Vary: Accept-Encoding'頭域的響應(yīng)頭部戒幔,主要功能是告訴瀏覽器發(fā)送的數(shù)據(jù)經(jīng)過了壓縮處理。開啟后的效果是在響應(yīng)頭部添加了Accept-Encoding: gzip土童,這對于本身不支持Gzip壓縮的瀏覽器是有用的诗茎。

  • gzip_disable "MSIE [1-6]." 禁用IE6的gzip壓縮
    針對不同類型的瀏覽器發(fā)起的請求,選擇性地開啟或關(guān)閉Gzip功能献汗,支持使用正則表達(dá)式敢订。

  • gzip_static on|off
    nginx對于靜態(tài)文件的處理模塊
    該模塊可以讀取預(yù)先壓縮的gz文件王污,這樣可以減少每次請求進(jìn)行g(shù)zip壓縮的CPU資源消耗。該模塊啟用后楚午,nginx首先檢查是否存在請求靜態(tài)文件的gz結(jié)尾的文件昭齐,如果有則直接返回該gz文件內(nèi)容。為了要兼容不支持gzip的瀏覽器矾柜,啟用gzip_static模塊就必須同時保留原始靜態(tài)文件和gz文件阱驾。這樣的話,在有大量靜態(tài)文件的情況下怪蔑,將會大大增加磁盤空間里覆。我們可以利用nginx的反向代理功能實(shí)現(xiàn)只保留gz文件。

2. 使用例子:

gzip on;            #開啟gzip功能
gzip_min_length  1024;      #響應(yīng)頁面數(shù)據(jù)上限
gzip_buffers     4 16k;         #緩存空間大小
gzip_http_version 1.1;      #http協(xié)議版本
gzip_comp_level  4;         #壓縮級別4
gzip_types       text/plain application/x-javascript text/css application/xml text/javascript;
gzip_vary on;       #啟用壓縮標(biāo)識
gzip_static on;     #開啟文件預(yù)壓縮
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饮睬,一起剝皮案震驚了整個濱河市租谈,隨后出現(xiàn)的幾起案子篮奄,更是在濱河造成了極大的恐慌捆愁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窟却,死亡現(xiàn)場離奇詭異昼丑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)夸赫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門菩帝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茬腿,你說我怎么就攤上這事呼奢。” “怎么了切平?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵握础,是天一觀的道長。 經(jīng)常有香客問我悴品,道長禀综,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任苔严,我火速辦了婚禮定枷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘届氢。我一直安慰自己欠窒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布退子。 她就那樣靜靜地躺著贱迟,像睡著了一般姐扮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衣吠,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天茶敏,我揣著相機(jī)與錄音,去河邊找鬼缚俏。 笑死惊搏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忧换。 我是一名探鬼主播恬惯,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亚茬!你這毒婦竟也來了酪耳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刹缝,失蹤者是張志新(化名)和其女友劉穎碗暗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梢夯,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡言疗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了颂砸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片噪奄。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖人乓,靈堂內(nèi)的尸體忽然破棺而出勤篮,到底是詐尸還是另有隱情,我是刑警寧澤色罚,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布碰缔,位于F島的核電站,受9級特大地震影響保屯,放射性物質(zhì)發(fā)生泄漏手负。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一姑尺、第九天 我趴在偏房一處隱蔽的房頂上張望竟终。 院中可真熱鬧,春花似錦切蟋、人聲如沸统捶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喘鸟。三九已至匆绣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間什黑,已是汗流浹背崎淳。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留愕把,地道東北人拣凹。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像恨豁,于是被迫代替她去往敵國和親嚣镜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355