1. 程式人生 > >Nginx作為靜態資源web服務_gzip場景演示

Nginx作為靜態資源web服務_gzip場景演示

Nginx作為靜態資源web服務_gzip場景演示

1、Nginx壓縮模組

(1)http_gzip_module

        應用支援gzip壓縮方式

(2)http_gzip_static_module

        預讀gzip功能

 

2、Nginx配置gzip圖片

(1)gzip圖片配置

        

引數解讀:

gzip on – nginx是否開啟gzip壓縮功能;

gzip_min_length 1000 – nginx限制最小gzip壓縮資源大小;

gzip_proxied – nginx作為反向代理時,允許gzip壓縮請求或響應頭裡欄位;

gzip_types – nginx允許gzip壓縮的靜態資源型別;

gzip_http_version 1.1 – nginx允許gzip壓縮的HTTP請求版本;

gzip_comp_level – nginx允許壓縮的級別,共9個等級,級別越高壓縮率越大;

 

驗證gzip圖片配置是否生效:

Linux伺服器上的資源為“88KB”:

    

瀏覽器請求的資源為“74.9KB”

    

關閉gzip配置:

瀏覽器請求的資源為“80.7KB”

    

(2)gzip文字配置

        

引數解讀:

gzip on – nginx是否開啟gzip壓縮功能;

gzip_min_length 1000 – nginx限制最小gzip壓縮資源大小;

gzip_proxied – nginx作為反向代理時,允許gzip壓縮請求或響應頭裡欄位;

gzip_types – nginx允許gzip壓縮的靜態資源型別;

gzip_http_version 1.1 – nginx允許gzip壓縮的HTTP請求版本;

gzip_comp_level – nginx允許壓縮的級別,共9個等級,級別越高壓縮率越大;

 

驗證gzip文字配置是否生效:

Linux伺服器上的資源為“288KB”:

    

瀏覽器請求的資源為“8.1KB”:

    

關閉gzip配置:

瀏覽器請求的資源為“282KB”

    

(3)gzip_static讀預壓縮檔案配置

        

引數解讀:

gzip_static on – nginx是否開啟預讀gzip檔案功能;

tcp_nopush on – nginx是否一次性發送整個檔案,提高傳輸效率;

root /opt – nginx指定根目錄;

 

驗證gzip_static預讀gzip檔案功能配置是否生效:

Linux伺服器上的資源通過gzip壓縮為*.gz格式檔案

    

Linux伺服器上的壓縮資源大小為4.0KB

    

瀏覽器請求的jpg資源為“74.8KB”:

    

瀏覽器請求的txt資源為“3.8KB”

    

關閉gzip配置:

    

瀏覽器請求的資源報錯,因為關閉了預讀gzip檔案功能

    

3、gzip底層演算法詳解

    gzip底層壓縮演算法(LZ77和Hufman編碼),對文字壓縮率比對image壓縮率大

    gzip壓縮演算法參考:

    https://blog.csdn.net/hguisu/article/details/7795435