nodejs+nginx配置gzip壓縮

  在我的網站部署到服務器的過程當中,爲了提升網站的性能,我使用了nginx反向代理Nodejs服務,其中須要去配置gzip來優化網站的加載。爲了減小網絡傳輸數據量,http傳輸過程當中會採用通用的壓縮算法來壓縮數據,gzip屬於最經常使用的壓縮算法。javascript

  使用node的http模塊發送請求時並無幫咱們進行解壓,所以咱們須要手動去判斷gzip。其實只須要在Nodejs中引用一個compress中間件來對gzip進行處理就能夠了,代碼以下:css

var compress = require('compression');
app.use(compress());

  另外須要注意的是這個中間件應該放置在全部的中間件最前面以保證全部的返回都是被壓縮的。html

  nginx的配置就比較大衆化了,和使用其餘後端語言的時候配置相似,在配置文件的http節點中加入:java

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 5;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript;

  

 

1) gzipnode

語法:gzip on/offnginx

默認值:off算法

做用域:http, server, location後端

說明:開啓或者關閉 gzip 模塊,這裏使用 on 表示啓動緩存

2) gzip_min_length服務器

語法:gzip_min_length length

默認值:gzip_min_length 0

做用域:http, server, location

說明:設置容許壓縮的頁面最小字節數,頁面字節數從header頭中的Content-Length中進行獲取。默認值是0,無論頁面多大都壓縮。建議設置成大於1k的字節數,小於1k可能會越壓越大。|

3) gzip_buffers

語法: gzip_buffers number size

默認值: gzip_buffers 4 4k/8k

做用域: http, server, location

說明:設置系統獲取幾個單位的緩存用於存儲gzip的壓縮結果數據流。4 16k 表明以 16k 爲單位,按照原始數據大小以 16k 爲單位的4倍申請內存。

4) gzip_comp_level

語法: gzip_comp_level 1..9

默認值: gzip_comp_level 1

做用域: http, server, location

說明:gzip壓縮比,1 壓縮比最小處理速度最快,9 壓縮比最大但處理最慢(傳輸快但比較消耗cpu)。這裏設置爲 5。

5) gzip_types

語法: gzip_types mime-type [mime-type ...]

默認值: gzip_types text/html

做用域: http, server, location

說明:匹配MIME類型進行壓縮,(不管是否指定)"text/html" 類型老是會被壓縮的。這裏設置爲 application/x-javascript text/css application/xml。

相關文章
相關標籤/搜索