標籤:

Nginx數據壓縮配置

1、開始數據壓縮配置的原因

後台返回前端大量的數據,如果不進行壓縮,將導致網路堵塞、佔用大量帶寬。

2、開啟Nginx數據壓縮達到的目標

減少傳輸的數據量,節省帶寬;從而達到降低費用。

Nginx數據壓縮配置:

在Nginx的nginx.conf文件的http模塊添加如下配置項

#gzip壓縮功能配置

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.0;

gzip_comp_level 6;

gzip_proxied any;

gzip_types text/css text/xml image/gif image/jpeg image/png application/javascript image/x-ms-bmp application/pdf text/plain application/json

application/xhtml+xml;

gzip_vary on;

gzip_disable "MSIE [1-6].";

配置項說明:

gzip : 決定是否開啟gzip模塊

param:on|off

example:gzip on;

gzip_buffers :

設置gzip申請內存的大小,其作用是按塊大小的倍數申請內存空間

param1:int

param2:int(k) 後面單位是k

example: gzip_buffers 4 8k;

gzip_comp_level

: 設置gzip壓縮等級,等級越底壓縮速度越快文件壓縮比越小,反之速度越慢文件壓縮比越大

param:1-9

example:gzip_com_level 6;

gzip_min_length

: 當返回內容大於此值時才會使用gzip進行壓縮,以K為單位,當值為0時,所有頁面都進行壓縮

param:int

example:gzip_min_length 1000;

gzip_http_version

: 用於識別http協議的版本,早期的瀏覽器不支持gzip壓縮,用戶會看到亂碼,所以為了支持前期版本加了此選項,目前此項基本可以忽略

param: 1.0|1.1

example:gzip_http_version 1.0

gzip_types: 設置需要壓縮的MIME類型,非設置值不進行壓縮 param:text/html|application/x-javascript|text/css|application/xml

example:gzip_types text/html;

gzip_proxied : Nginx做為反向代理的時候啟用,

param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any

expample:gzip_proxied

no-cache; 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_vary : 加上 http 頭信息Vary: Accept-Encoding給後端代理伺服器識別是否啟用 gzip 壓縮。

param:on|off

expample:gzip_vary on;

gzip_disable : 根據 「User-Agent」 頭來關閉 Gzip,可用正則表達式。

param:regex(正則表達式)

example:gzip_disable "MSIE [1-6].";

備註:對http/https返回的數據都進行了明顯的壓縮。


推薦閱讀:

actor模型跟nginx中worker_process的相同和差異有哪些?
Nginx基本配置備忘
nginx快速入門之基本原理篇
CentOS 7 YUM 10分鐘快速安裝 LNMP 環

TAG:Nginx |