Linux服務器下Apache軟件如何開啟gzip壓縮
Apache上利用Gzip壓縮算(suan)法進行壓縮的模塊有兩種(zhong),分別是mod_gzip 和mod_deflate。要(yao)使用Gzip Web壓縮,請(qing)首先確定你的服務器(qi)開啟了對這兩個組(zu)件之一的支(zhi)持。雖然使用Gzip同時也需要(yao)客戶端瀏(liu)(liu)覽器(qi)的支(zhi)持,不過(guo)不用擔(dan)心(xin),目(mu)前大部分瀏(liu)(liu)覽器(qi)都已經(jing)支(zhi)持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。
如果服務器開(kai)啟了對Gzip組件的支持(chi),那么我(wo)們就可(ke)以在(zai)http.conf或.htaccess里面進(jin)行(xing)定(ding)制,下面是(shi)一個(ge).htaccess配置(zhi)的簡(jian)單實例:
# mod_gzip: <ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>
# mod_deflate: <ifmodule mod_deflate.c> DeflateCompressionLevel 6 #壓縮率, 6是建議值. AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE image/svg+xml </ifmodule>
里面的(de)文件MIME類(lei)型(xing)可(ke)(ke)以根據自己情況(kuang)添加,至于PDF 、圖片、音樂文檔之類(lei)的(de)這些本(ben)身(shen)都已經高度壓(ya)縮格式,重復壓(ya)縮的(de)作用(yong)不大(da),反(fan)而可(ke)(ke)能會(hui)因為增加CPU的(de)處理時間及瀏覽器的(de)渲(xuan)染問題而降低性(xing)能,所以就沒必要再通過Gzip壓(ya)縮。
下面具體(ti)說下如何開啟這個功能(neng):
1、首先得確認apache是否已經加載了mod_deflate模塊。
httpd -M
為了開(kai)啟apache服(fu)務器中的(de)gzip壓縮功能,mod_deflate模(mo)塊是必須(xu)安裝加載,如(ru)下方法:
1.1、進入到mod_deflate.c目錄
cd /lamp/httpd-2.2.20/modules/filters
1.2、執行編譯加載程序
/usr/local/apache/bin/apxs -i -a -c mod_deflate.c
1.3、重新啟動httpd程序
service httpd restart
1.4、查看是否已經加載成功
httpd -M
2、編譯配置文件httpd.conf,增加支持gzip的文件類型,如下:
<Location /> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE text/html </Location>
這樣可以壓縮一(yi)般網(wang)頁(ye)中會用(yong)到的(de)html、xml、php、css、js等格式(shi)檔案輸(shu)出,雖然(ran)會占用(yong)掉(diao)服務器(qi)處理(li)器(qi)的(de)一(yi)點(dian)(dian)點(dian)(dian)處理(li)器(qi)時(shi)間,瀏覽者在(zai)接收 網(wang)頁(ye)數(shu)據(ju)時(shi)也(ye)會消(xiao)耗極短暫的(de)一(yi)點(dian)(dian)點(dian)(dian)處理(li)器(qi)時(shi)間,不(bu)過卻可以大(da)幅減(jian)少(shao)數(shu)據(ju)傳(chuan)輸(shu)量,減(jian)少(shao)網(wang)絡帶寬被(bei)吃掉(diao)的(de)情形。
3、重啟httpd。
service httpd restart
4,檢驗是否已經開啟成功。
IDC資訊://szjicheng.cn/zt/