詳細解釋:nginx中gzip的各項配置以及配置參數的意思詳解

來源:互聯網
上載者:User

最近幾天一直做nginx的負載平衡,折騰了好幾天,在網上查了很多資料,發現大多數資料都些的很籠統,或者就是些的讓新手迷迷糊糊,似懂非懂,很多的配置參數等都不是很明白,配置的時候也就造成很多地方不確切。現在我對我這幾天的配置予以總結,從下載到安裝,到環境的搭建,以及負載平衡的配置,參數的詳細解釋,以及後面的session共用,都會一一介紹,希望給予對nginx有興趣的特別是新手有一些協助。
本文參考了:http://wiki.nginx.org/NginxChsHttpGzipModule
ngx_http_gzip_module:
這個模組支援線上即時壓縮輸出資料流

__使用範例__

: gzip             on;
: gzip_min_length  1000;
: gzip_proxied     expired no-cache no-store private auth;
: gzip_types       text/plain application/xml;
內建變數 $gzip_ratio 可以擷取到gzip的壓縮比率

指令
[#gzip gzip]
[#gzip_buffers gzip_buffers]
[#gzip_comp_level gzip_comp_level]
[#gzip_min_length gzip_min_length]
[#gzip_http_version gzip_http_version]
[#gzip_proxied gzip_proxied]
[#gzip_types gzip_types]
Template:Anchor

gzip
文法: gzip on|off
預設值: gzip off
範圍: http, server, location, if (x) location
開啟或者關閉gzip模組

gzip_buffers
文法: gzip_buffers number size
預設值: gzip_buffers 4 4k/8k
範圍: http, server, location
設定系統擷取幾個單位的緩衝用於儲存gzip的壓縮結果資料流。 例如 4 4k 代表以4k為單位,按照未經處理資料大小以4k為單位的4倍申請記憶體。 4 8k 代表以8k為單位,按照未經處理資料大小以8k為單位的4倍申請記憶體。
如果沒有設定,預設值是申請跟未經處理資料相同大小的記憶體空間去儲存gzip壓縮結果。

gzip_comp_level
文法: gzip_comp_level 1..9
預設值: gzip_comp_level 1
範圍: http, server, location
gzip壓縮比,1 壓縮比最小處理速度最快,9 壓縮比最大但處理最慢(傳輸快但比較消耗cpu)。

gzip_min_length
文法: gzip_min_length length
預設值: gzip_min_length 0
範圍: http, server, location
設定允許壓縮的頁面最小位元組數,頁面位元組數從header頭中的Content-Length中進行擷取。
預設值是0,不管頁面多大都壓縮。
建議設定成大於1k的位元組數,小於1k可能會越壓越大。 即: gzip_min_length 1024

gzip_http_version
文法: gzip_http_version 1.0|1.1
預設值: gzip_http_version 1.1
範圍: http, server, location
識別http的協議版本。由於早期的一些瀏覽器或者http用戶端,可能不支援gzip自解壓,使用者就會看到亂碼,所以做一些判斷還是有必要的。 註:21世紀都來了,現在除了類似於百度的蜘蛛之類的東西不支援自解壓(百度就是SX,我就不說了),99.99%的瀏覽器基本上都支援gzip解壓了,所以可以不用設這個值,保持系統預設即可。

gzip_proxied
文法: gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...
預設值: gzip_proxied off
範圍: http, server, location
Nginx作為反向 Proxy的時候啟用,開啟或者關閉後端伺服器返回的結果,匹配的前提是後端伺服器必須要返回包含"Via"的 header頭。
off - 關閉所有的代理結果資料的壓縮
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_types
文法: gzip_types mime-type [mime-type ...]
預設值: gzip_types text/html
範圍: http, server, location
匹配MIME類型進行壓縮,(無論是否指定)"text/html"類型總是會被壓縮的。
注意:如果作為http server來使用,主設定檔中要包含檔案類型設定檔
http
{
 include       conf/mime.types;
 ......
}

如果你希望壓縮常規的檔案類型,可以寫成這個樣子
http
{
: include       conf/mime.types;

: gzip on;
: gzip_min_length  1000;
: gzip_buffers     4 8k;  
: gzip_http_version 1.1;
: gzip_types       text/plain application/x-javascript text/css text/html application/xml;

: ...... 
}
如有轉載,請註明原文出處:http://blog.csdn.net/jessonlv/article/details/8016284

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.