Nginx HttpGzipStaticModule

nginx_web發表於2012-06-15

 

 

    在從磁碟向支援gzip的客戶端提供一個檔案時,這個模組將會在同樣的目錄(或者叫位置)中查詢同請求檔名相同的、以".gz"格式結尾的檔案,這個檔案被稱為檔案的“預壓縮格式”,之所以稱為“預壓縮格式”,是因為Nginx不會去對該檔案進行壓縮,即使是該檔案被訪問之後也不會產生".gz"格式的檔案,因此需要我們自己壓縮。那麼這種機制的作用是什麼呢?很簡單,這麼做的原因在於避免每次請求都將對同一個檔案進行壓縮。

 

ngx_http_gzip_static_modulenginx 0.6.24版本開始提供,但是在預設安裝中它是不會被編譯安裝,因此,在編譯時需要指定--with-http_gzip_static_module選項。

 

配置示例

 

gzip_static on;

gzip_http_version   1.1;

gzip_proxied        expired no-cache no-store private auth;

gzip_disable        "MSIE [1-6]\.";

gzip_vary           on;

   

 

   

 

 

指令名稱:gzip_static

    能:啟用該模組。需要注意的是,確定壓縮版本和非壓縮版本的時間戳要匹配,以便提供最新的內容。

    : gzip_static on|off

默 認 值: gzip_static off

使用環境: http, server, location

 

以下命令參考NginxHttpGzipModule模組:

 

指令名稱:gzip_http_version

指令名稱:gzip_proxied

指令名稱:gzip_disable

指令名稱:gzip_vary

 

 

使用例項

 

    在下面的例子中我們先為現有的網頁index.html生成一個".gz"格式的檔案,即index.html.gz,然後測試訪問;在對index.html檔案進行修改,然後再訪問測試。

 

新增配置

 

  gzip             on;

  gzip_types       text/plain application/xml;

  gzip_static on;

   

 

訪問測試

 

    生成index.html檔案的另一個格式index.html.gz

 

[root@mfsmaster html]# ls

index.html

[root@mfsmaster html]#cat index.html

Welcome to nginx!

Welcome to nginx!

哈哈!!!

[root@mfsmaster html]# gzip -c index.html  > index.html.gz

[root@mfsmaster html]# ls

index.html  index.html.gz

   

    確定檔案的訪問時間:

 

[root@mfsmaster html]# stat index.*

  File: ‘index.html’

  Size: 167             Blocks: 8          IO Block: 4096   一般檔案

Device: fd00h/64768d    Inode: 5394667     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-08-18 16:45:20.339995192 +0800

Modify: 2011-08-18 16:44:16.746662848 +0800

Change: 2011-08-18 16:44:16.746662848 +0800

  File: ‘index.html.gz’

  Size: 151             Blocks: 8          IO Block: 4096   一般檔案

Device: fd00h/64768d    Inode: 5394635     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-08-18 16:45:20.338995344 +0800

Modify: 2011-08-18 16:45:20.339995192 +0800

Change: 2011-08-18 16:45:20.339995192 +0800

   

    訪問該檔案:

 

   

 

檢視檔案的訪問時間

 

[root@mfsmaster html]# stat index.*

  File: ‘index.html’

  Size: 167             Blocks: 8          IO Block: 4096   一般檔案

Device: fd00h/64768d    Inode: 5394667     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-08-18 16:45:20.339995192 +0800

Modify: 2011-08-18 16:44:16.746662848 +0800

Change: 2011-08-18 16:44:16.746662848 +0800

  File: ‘index.html.gz’

  Size: 151             Blocks: 8          IO Block: 4096   一般檔案

Device: fd00h/64768d    Inode: 5394635     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-08-18 16:59:01.040229792 +0800

Modify: 2011-08-18 16:45:20.339995192 +0800

Change: 2011-08-18 16:45:20.339995192 +0800

   

    我們比較以下這兩個檔案的訪問時間戳,肯定的說,我們的訪問是有‘index.html.gz’檔案提供的。

 

    下面將對index.html檔案進行修改:

 

[root@mfsmaster html]# vi index.html

 

Welcome to nginx!

Welcome to nginx!

哈哈!!!哈哈!!!

   

    檢視檔案的訪問時間

   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27043155/viewspace-732982/,如需轉載,請註明出處,否則將追究法律責任。

相關文章