目錄
1. 功能描述
2. 代碼實現
3. 最終效果
4. 參考文檔
一、功能描述
- 實現: Nginx開啟Gzip壓縮功能, 可以使網站的css、js 、xml、html 等文件在傳輸時進行壓縮,提高訪問速度。
- 版本: nginx/1.16.1。
二、代碼實現
參數詳解:
# 開啟或關閉gzip模塊(實時壓縮輸出)
gzip on|off;
# 開啟或關閉gzip靜態文件處理模塊(提前壓縮,需要nginx中添加上http_gzip_static_module模塊)
gzip_static on|off;
# 設置壓縮緩沖區大小,例如"gizp_buffers 4 8k"就是設置為4個8k內存作為壓縮結果數據流緩存
gzip_buffers number size;
# 設置允許壓縮的頁面最小字節數; 頁面字節數從header頭中的Content-Length中進行獲取,建議設置成大於1k,小於1k沒有壓縮的必要.
gzip_min_length length;
# 識別http的協議版本。可以不用配置。
gzip_http_version 1.0|1.1;
# 設置壓縮比,可以是0到9中的任一個,級別越高,壓縮結果就越小,但同時消耗CPU資源越高,一般折中取6
gzip_comp_level [1-9];
# 設置需要壓縮的MIME類型,如果不在設置類型范圍內的請求不進行壓縮,線上配置時盡可能配置多的壓縮類型。
gzip types mime-type [mime-type ...];
# Nginx作為反向代理的時候啟用,開啟或者關閉后端服務器返回的結果,匹配的前提是后端服務器必須要返回包含"Via"的 header頭。
gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any]
# 配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因為ie低版本不支持)
gzip_disable "MSIE [1-6]\.";
# 增加vary頭
gzip_vary on;
線上配置:
http {
...
# gizp壓縮配置
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain qpplication/x-javascript text/css application/xml text/javascript application/javascript application/json;
gzip_disable "MSIE [1-6]";
gzip_vary on;
...
}
三、最終效果
未啟用gzip時,網站資源訪問速度:
啟用gizp后: