apache和nigx中GZIP開啟方法介紹

來源:互聯網
上載者:User

如何查看自己的網站已經開啟gzip了?

方法-:

通過線上的工具比如(站長之家)查詢,比如的我的部落格開啟了在查詢就如圖:QQ截圖

 

 

方法二:

通過瀏覽器的審查元素或者firebug之類工具查看伺服器返回的header是否包含了“gzip”

如圖:


如何開啟呢?


要讓apache支援gzip功能,要用到deflate_Module和headers_Module。開啟apache的設定檔httpd.conf,大約在100行左右,找到以下兩行內容:(這兩配置隔個好幾行)

#LoadModule deflate_module modules/mod_deflate.so 
#LoadModule headers_module modules/mod_headers.so

然後將其前面的“#”注釋刪掉,表示開啟gzip壓縮功能。開啟以後還需要進行相關配置。在httpd.conf檔案的最後添加以下內容即可:

<IfModule deflate_module>
    #必須的,就像一個開關一樣,告訴apache對傳輸到瀏覽器的內容進行壓縮 
    SetOutputFilter DEFLATE 
  
</IfModule>


最少需要加上以上內容,才可以生gzip功能生效。由於沒有做其它的額外配置,所以其它相關的配置均使用Apache的預設設定。這裡說一下參數“DeflateCompressionLevel”,它表示壓縮層級,值從1到9,值越大表示壓縮的越厲害。

注意,這裡要強調一個地方,我是通過搜尋引擎找到相關文章進行設定的,而這些文章可能是來回複製的,有錯誤都不知道,如果你也按照那些做法去做,八層是出錯,直接Apache都啟動不了。究其原因,主要是有個參數不匹配。在上面去掉注釋的“#”,即:


LoadModule deflate_module modules/mod_deflate.so

這裡以後會用到中間的名稱,即deflate_module。後續開啟gzip壓縮中要使用該名稱,即:

<IfModule deflate_module>  
    ......
    ......
</IfModule>


這兩個deflate_module必須一致。網路上其它很多文章,都是不一致的,所以直接報錯。我之前學的時候就是比較坑

下面是另一個典型配置我網上找的,供參考。這裡不建議將圖片視頻等多媒體檔案進行gzip壓縮,一般只壓縮純文字格式的檔案,如.php、.txt、.html、.css、.js等

因為圖片等資源壓縮的話,除非你有一個強大的伺服器。

<IfModule deflate_module>
  
    #必須的,就像一個開關一樣,告訴apache對傳輸到瀏覽器的內容進行壓縮 
  
    SetOutputFilter DEFLATE 
  
    #壓縮層級,1-9,9為最高 
  
    DeflateCompressionLevel 9  
  
  
    #不進行壓縮的檔案 
  
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設定不對尾碼gif,jpg,jpeg,png的圖片檔案進行壓縮 
  
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是設定不對exe,tgz,gz。。。的檔案進行壓縮 
  
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary   
  
    
  
    #針對Proxy 伺服器的設定 
  
    <IfModule headers_moudle>
  
    Header append vary User-Agent 
  
    </IfModule>
  
</IfModule>


nginx開啟gzip壓縮

1)Vim開啟Nginx設定檔

vim /usr/local/nginx/conf/nginx.conf


2)找到如下一段,進行修改

#開啟Gzip
gzip on;
#不壓縮臨界值,大於1K的才壓縮,一般不用改


gzip_min_length 1k;gzip_buffers 4 16k;
#gzip_http_version 1.0;
#壓縮層級,1-10,數字越大壓縮的越好,時間也越長


gzip_comp_level 4;
#進行壓縮的檔案類型

gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#跟Squid等快取服務有關,on的話會在Header裡增加"Vary: Accept-Encoding"


gzip_vary off;
#IE6不壓縮


gzip_disable "MSIE [1-6].";

總結一下:

開啟gzip的優點:

節省頻寬。

提高頁面載入速度快。

適合中小網站或者idc虛擬機器主機使用

開啟gzip的缺點:

會消耗cpu資源

對流量大的網站,不建議開啟的。gzip會佔用cpu資源太多,且回收機制不是太好

對的圖片和視頻的壓縮,幾乎在實際情況不能使用。局限在的只能壓縮html,js檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.