當前位置:首頁 » 文件管理 » gzip壓縮apache

gzip壓縮apache

發布時間: 2023-08-31 22:02:09

編譯安裝apache 怎麼關閉 gzip

先來了解一下GZIP ,gzip是GNU zip的縮寫,它是一個GNU自由軟體的文件壓縮程序,也經常用來表示gzip這種文件格式。軟體的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是1.2.4。
gzip可以級大的加速網站.有時壓縮比率高到80%,近來測試了一下,最少都有40%以上,還是相當不錯的.在Apache2之後的版本,模塊名不叫gzip,而叫mod_deflate
1、Apache啟用gzip
如果要開啟gzip的話,一定要打開下面二個模塊.
LoadMole headers_mole moles/mod_headers.so
LoadMole deflate_mole moles/mod_deflate.so
設置壓縮比率,取值范圍在 1(最低) 到 9(最高)之間,不建議設置太高,雖然有很高的壓縮率,但是佔用更多的CPU資源.
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI //.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #對代理的設置
</Location>

測試數據對css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
測試數據js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%
測試數據php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是隨機拿的幾個數據,看的出來,使用了gzip壓縮後文件小多了.
另外講一下,有關squid對gzip的處理
在squid中,對同一個URL只保留一份緩存。對於如果不同browser(是否支持壓縮)如果頻繁交替訪問,例如:對某個cache住的目標,一個 http/1.0請求可能會導致squid強制更新其緩存。但接下來的另一個http/1.1請求又會導致squid再次更新緩存。這樣那squid緩存 數據就要頻繁更新,這就極大的降低了cache命中率。
不過還好,現實環境中不支持壓縮的browser畢竟是很少的情況,所以對於緩存命中率的降低很有限.
這個神通廣大的模塊就是mod_gzip. 它通過用和gzip一樣的壓縮演算法對apache發出的頁面進行壓縮,可能的話可以把頁面壓縮成為原來大小的十份之一。哪,如果10K的頁面只要傳1K這 不就是提速10倍嘛。當然一般網頁只可以達到3-6倍。那也很不錯。對吧。連google這樣一個大的網站都採用這個技術。你還不快跟上?
這樣一個好東東,來來來,我告訴你如何安裝:分3步,1、下載,2、修改配置,3、測試。

安裝, 配置
把mod_gzip放到你的apache的源代碼目錄下,新建一個mod_gzip目錄如果需要補丁(針對1.3.17.la版) 還需運行:
patch mod_gizp.c
按你需要,在配置中選擇動態DSO或靜態編譯進apache系統。如何處理在README中講得很清楚,如-add-mole=mod_gzip.c, make,make install等等。這里不多講。
把下列配置加入httpd.conf尾部。
# MOD_GZIP configuration
mod_gzip_on Yes
mod_gzip_minimum_file_size 1002
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 60000
mod_gzip_item_include mime "application/x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include mime "httpd/unix-directory"
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_keep_workfiles No
mod_gzip_item_include file ".php3$"
mod_gzip_item_include file ".txt$"
mod_gzip_item_include file ".html$"
mod_gzip_item_exclude file ".css$"
mod_gzip_item_exclude file ".js$"
在保存修改後運行
…/bin/apachectl configtest確保配置修改無誤。
然後用 apachectl restart 指令重起服務。
修改,測試
在宣布做好了之前在測試一下是優秀程序員的習慣。為了盡量不影響你的用戶的瀏覽,我們可以用把新的apache驅動在8080埠上或者用指令控制mod_gzip起作用的目錄,而不是一下子全用mod_gzip.
用法如下:
MOD_GZIP configuration
沒有問題後你就可以讓你的用戶很開心的發現』XX網站現在好快哦。』
Mod_gzip真的很神奇,100K的HTML大 文檔只要12K就可以傳到用戶端了。越先採用這個技術你的用戶對你的網站的高速度印象就越深。不過有所得必有所失,由於解壓是在客戶端進行的,效果和用戶 的瀏覽器有一定關系。
2、IIS啟用gzip
現代的瀏覽器IE6和Firefox都支持客戶端Gzip,也就是說,在伺服器上的網頁,傳輸之前,先使用Gzip壓縮再傳輸給客戶端,客戶端接收之後由瀏覽器解壓顯示,這樣雖然稍微佔用了一些伺服器和客戶端的CPU,但是換來的是更高的帶寬利用率。對於純文本來講,壓縮率是相當可觀的。如果每個用戶節約50%的帶寬,那麼你租用來的那點帶寬就可以服務多一倍的客戶了。
IIS6已經內建了Gzip壓縮的支持,可惜,沒有設置更好的管理界面。所以要打開這個選項,還要費些功夫。
首先,如果你需要壓縮靜態文件(HTML),需要在硬碟上建一個目錄,並給它「IUSR_機器名」這個用戶的寫許可權。如果壓縮動態文件(PHP,asp,aspx)就不需要了,因為它的頁面是每次都動態生成的,壓縮完就放棄。然後在IIS管理器中,「網站」上面右鍵-屬性,不是下面的某個站點,而是整個網站。進入「服務」標簽,選上啟用動態內容壓縮,靜態內容壓縮。
然後選中網站下面那個伺服器擴展,新建一個伺服器擴展。名字無所謂,下面的添加文件的路徑是:
c:/windows/system32/inetsrv/gzip.dll,然後啟用這個擴展。
這時候靜態內容是可以壓縮的,但是對於動態內容,aspx文件卻不在壓縮范圍內。因為默認的可壓縮文件並沒有這個擴展名。而管理界面中你又找不到可以增加擴展名的地方,這時候只能去修改它的配置文件了。
在 c:/windows/system32/inetsrv/下面有個MetaBase.xml文件,可以用記事本打開,找到 IIsCompressionScheme,有三個相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數,在這兩段的參數HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動態程序要壓縮,也加在這里。 HcDynamicCompressionLevel改成9,(0-10,9是性價比最高的一個)。
1.首先備份 IIS 的配置文件,
復制C:/Windows/system32/inetsrv/metabase.xml到另外的備份文件夾中.
C:/Windows/system32/inetsrv/metabase.xml是 IIS 的核心配置文件,該文件的完整性一但被破壞,IIS 將無法正常運行,嚴重到需要重新安裝系統.
2. 在開始菜單中啟動 Internet 信息服務(IIS)管理器,右鍵點擊「網站」屬性,打開「服務」選項卡,勾選「HTTP 壓縮」的兩個選項。「臨時目錄」和「臨時目錄最大容量」可根據需要自行設置。設置完成後點擊確定。
3. 右鍵點擊「網站」下方的 「Web服務擴展」,添加一個新的Web服務擴展,擴展名填寫為「HTTP Compression」或其他,都可以。「要求的文件」添加:c:/windows/system32/inetsrv/gzip.dll ,並勾選「設置擴展狀態為允許」,完成後點擊確定。
4.下面的步驟有些復雜,如果沒有確定的把握能理解,最好不要嘗試,右鍵點擊「Internet 信息服務的」「本地計算機」屬性,勾選「允許直接編輯配置資料庫」並確定。
5. 在開始菜單中運行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打開metabase.xml 文件,請在任何改動前再次確認該文件已經備份。
6. 搜索並找到 metabase.xml 文件中的<IIsCompressionScheme 片段中的HcScriptFileExtensions,依照原有文件的格式添加你希 望進行 HTTP 壓縮的文件擴展名,靜態文件HcFileExtensions可添加 JS,CSS 等; 動態文件HcScriptFileExtensions可添加"ASPX"」ASMX」,如下:
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/deflate」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」0″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」FALSE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/gzip」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」1″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」TRUE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
注意「Compression/deflate」和「Compression/gzip」兩個片段都需要修改。動態壓縮等級,HcDynamicCompressionLevel建議設置為「9」
7. 保存並關閉 metabase.xml 文件。
8. 重新啟動 IIS 服務,運行「IISReset」或重新啟動 WWW 服務。
9. 其他:
如果你的伺服器上某一個Web站點不希望啟用 IIS 壓縮,請運行以下腳本
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoDynamicCompression False
如果想增加啟用 HTTP 壓縮的文件類型,請運行以下腳本:
「」 中為文件擴展名,別忘了把原有的擴展名加上。
靜態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
動態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
將site#替換為該 Web 站點的 ID。Web 站點的 ID是什麼到「日誌記錄屬性」中看一下日誌記錄的「日誌文件名」前面的路徑就知道了。
運行以上腳本前務必備份,運行後再次執行「IISReset」使生效.

linux系統下用什麼工具做安裝包

【享】linux安裝程序

初者都知道何linux安裝程序面簡單說
Linux系統安裝軟體見兩種:
種軟體源代碼您需要自手編譯種軟體安裝包通用gzip壓縮tar包(綴名.tar.gz)
另種軟體執行程序要安裝種軟體安裝包通RPM包(RedHat Linux Packet ManagerRedHat軟體包管理器)綴名.rpm 用RPM格式打包源代碼、用gzip壓縮執行套裝程序要您理解思路兩種形式安裝包

源代碼編譯安裝

Linux軟體源代碼發指提供該軟體所程序源代碼發布形式需要用戶自編譯執行二進制碼並進行安裝其優點配置靈隨意掉或保留某些功能/模塊適應種硬體/操作系統平台及編譯環境;缺點難度較般適合初者使用

各軟體源代碼包般都各軟體項目主頁提供載例:等

1.*.src.rpm形式源代碼軟體包

安裝:

rpm -rebuild *.src.rpm

cd /usr/src/dist/RPMS

rpm -ivh *.rpm

卸載:

rpm -e packgename

說明:rpm --rebuild *.src.rpm命令源代碼編譯並/usr/src/dist/RPMS二進制RPM軟體包再安裝該二進制包即Packgename前所述

2.*.tar.gz/*.tgz/*.bz2形式源代碼軟體包

tar.gz或tgz或tar.bz2等格式結尾軟體包般都源代碼式發布軟體安裝類軟體首先需要軟體進行解壓:

# tar zxvf filename.tar.gz

# tar xvfz filename.tgz

# tar xvf j filename.tar.bz2

解壓進入解壓目錄:

# cd filename/

於類文檔見安裝步驟:配置、編譯安裝3步其麻煩配置所軟體安裝相關配置都步指定:比軟體安裝位置等

配置:./configure

編譯:make

安裝:make install

卸載:make uninstall 或手刪除

說明:建議解壓先閱讀說明文件(ReadMeInstall)解安裝需求必要需改編譯配置些軟體包源代碼編譯安裝用make uninstall命令進行卸載提供功能則軟體卸載必須手進行由於軟體能文件散安裝系統目錄往往難刪除干凈應該編譯前進行配置指定軟體要安裝目標路徑:./configure --prefix=目錄名使用rm -rf 軟體目錄名命令進行干凈徹底卸載與其安裝式相比需要用戶自編譯安裝難適合於使用Linux已定經驗般推薦初者使用

RPM格式軟體包安裝

RPMRedHat公司發軟體包管理器使用容易RPM形式軟體包進行安裝、升級、卸載、驗證、查詢等操作安裝簡單卸載軟體安裝處目錄文件刪除干凈推薦初者盡能使用RPM形式軟體包軟體包往往特定命令規范名字由文件名+版本號+.rpm組字串例apache-3.1.12-i386.rpmapache-devel-3.1.12-i386.rpm軟體包名稱別apacheapache-devel各支持RPM格式Linux見軟體RPM包網站rpmfind.net找

1.安裝

命令格式:

rpm-i(or--install) options file1.rpm ... fileN.rpm

參數:

file1.rpm...fileN.rpm指要安裝RPM包文件名

詳細選項:

-h(or—hash)安裝輸hash記號;test安裝進行測試並實際安裝;--percent百比形式輸安裝進度;--excludedocs安裝軟體包文檔;--includedocs安裝文檔;--replacepkgs強制重新安裝已經安裝軟體包;--replacefiles替換屬於其軟體包文件;--force忽略軟體包及文檔沖突;--noscripts運行預安裝安裝腳本;--prefix NEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxy HOST用HOST作FTP代理;--ftpport PORT指定FTP埠號PORT

通用選項:

-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文檔FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY

2.刪除

命令格式:

rpm -e(or--erase) options pkg1 ... pkgN

參數:

pkg1...pkgN:要刪除軟體包

詳細選項:

--test執行刪除測試;--noscripts運行預安裝安裝腳本程序;--nodeps檢查依賴性

通用選項:

-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文檔FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY

3.升級

命令格式:

rpm -U(or--upgrade) options file1.rpm ... fileN.rpm

參數:

file1.rpm...fileN.rpm指軟體包名字

詳細選項:

-h(or—hash)安裝輸hash記號;—oldpackage允許舊版本;--test進行升級測試;--excludedocs安裝軟體包文件;--includedocs安裝文件;--replacepkgs強制重新安裝已經安裝軟體包;--replacefiles替換屬於其軟體包文件;--force忽略軟體包及文件沖突;--percent百比形式輸安裝進度;--noscripts運行預安裝安裝腳本;--prefix NEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxy HOST用HOST作FTP代理;--ftpport HOST指定FTP埠號HOST

通用選項:

-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文件FILELIST ;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY

4.查詢

命令格式:

rpm -q(or--query) options

參數:

pkg1...pkgN:查詢已安裝軟體包

詳細選項:

-p PACKAGE_FILE查詢軟體包文件;-f FILE查詢FILE屬於哪軟體包;-a查詢所安裝軟體包;--whatproVides CAPABILITY查詢提供CAPABILITY功能軟體包;-g group查詢屬於group組軟體包;--whatrequires CAPABILITY查詢所需要CAPABILITY功能軟體包

選項:

-i顯示軟體包概要信息;-l顯示軟體包文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟體包文檔列表並顯示每文件狀態-;-scripts顯示安裝、卸載、校驗腳本;--queryformat(or--qf)用戶指定式顯示查詢信息;--mp顯示每文件所已校驗信息;--proVides顯示軟體包提供功能;--requires(or-R)顯示軟體包所需功能

通用選項:

-v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPMDIRECTORY指定路徑作根目錄預安裝程序安裝程序都安裝目錄;-rcfile FILELIST設置rpmrc文件FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY

5.校驗已安裝軟體包

命令格式:

rpm -V(or--verify,or-y) options

參數:

pkg1...pkgN要校驗軟體包名

軟體包選項:

-p PACKAGE_FILE校驗PACKAGE_FILE所屬軟體包;-a校驗所軟體包;-g group校驗所屬於組group軟體包

詳細選項:

--noscripts運行校驗腳本;--nodeps校驗依賴性;--nofiles校驗文檔屬性

通用選項:

-v顯示附加信息;-vv顯示調試信息;--root PATH讓RPMPATH指定路徑做根目錄預安裝程序安裝程序都安裝目錄;--rcfile FILELIST設置rpmrc文件FILELIST;--dbpath DIRECTORY設置RPM資料庫所路徑DIRECTORY

6.校驗軟體包文件

語:

rpm -K(or--checksig) options file1.rpm...fileN.rpm

參數:

file1.rpm...fileN.rpm軟體包文件名;Checksig--詳細選項;--nopgp校驗PGP簽名

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rcfile FILELIST設置rpmrc文件FILELIST

7.其RPM選項

--rebuilddb重建RPM資料庫;--initdb創建新RPM資料庫;--quiet盡能減少輸;--help顯示幫助文件;--version顯示RPM前版本

喜歡字元介面安裝或卸載些軟體包完全安裝基於X-Window圖形介面軟體包管理程序glint, xrpm圖形介面或使用KDEKPackage(單擊【始】→【運行命令】其輸入KPackage即啟KPackage)等軟體包安裝、升級、卸載、驗證查詢通單擊滑鼠輕松完圖所示

需要注意每RPM軟體包格式軟體並定獨立各RPM軟體包間定依賴關系刪除某RPM軟體包能導致別軟體能使用升級刪除應該注意
本載安裝linux發現版本都幾百兆我覺系統都沒款點軟體能用或者說用起問題啊我直覺安裝包越越

❸ 如何在 apache 中開啟 gzip 壓縮服務

伺服器設置 gzip 壓縮是 web 開發里很普遍的做法。假設你要請求一個 100k 的文件,網路傳輸速度為 50k/s,需要 2s 才能得到數據,但是如果在伺服器設置了 gzip 壓縮,將服務端的文件壓縮到了 50k(實際上的壓縮率往往小於 50%),這時候只需 1s 就能得到數據,然後在客戶端解壓即可。

可以對比下同一個文件在開啟 gzip 前後的大小。

gzip 壓縮前:

那麼如何在服務端開啟 gzip 服務呢?這里以 apache 為例簡單介紹下。

打開 apache 的 "httpd.conf" 文件,比如我的是在 "C:wampinapacheApache2.2.21conf" 目錄下。找到以下這一行,將它前面的注釋(#)去掉:

很多參考文件都提到同時要對 LoadMole headers_mole moles/mod_headers.so 去掉注釋,說 "如果不開啟這個,那網站就不能正常顯示了" ,不過我在測試過程中沒有去掉也沒有問題。

接著再添上以下代碼:

這樣就能對所有文件進行 gzip 壓縮了。壓縮等級是個 1-9 之間的整數,取值范圍在 1(最低) 到 9(最高)之間,不建議設置太高,雖然有很高的壓縮率,但是佔用更多的CPU資源。(本地測試了下 1 和 9 壓縮率差不了多少...)

實際開發中我們並不需要對所有文件進行壓縮,比如我們無需對圖片文件進行 gzip 壓縮,因為圖片文件(一般為 jpg、png等格式)本身已經壓縮過了,再進行 gzip 壓縮可能會適得其反(詳見 圖片要啟用gzip壓縮嗎?絕對不要!,背景圖片千萬不要gzip壓縮,尤其是PNG),類似的還有 PDF 以及音樂文件。所以我們可以設置過濾指定文件或者對指定文件進行壓縮。

比如我們要對圖片等特殊文件不進行 gzip 壓縮處理:

或者指定文件格式進行壓縮:

修改好後,保存 httpd.conf 文件,記得重啟 apache,再刷新瀏覽器看請求,應該已經生效了!

熱點內容
壓縮內存軟體 發布:2025-01-31 16:51:39 瀏覽:145
腳本lcd 發布:2025-01-31 16:41:02 瀏覽:515
安卓selinux干什麼用的 發布:2025-01-31 16:32:04 瀏覽:531
俠盜獵車手加錢密碼是多少 發布:2025-01-31 15:44:28 瀏覽:662
沒密碼怎麼登微信 發布:2025-01-31 15:33:51 瀏覽:737
c語言死機程序 發布:2025-01-31 15:07:52 瀏覽:18
編程教育裝修 發布:2025-01-31 15:04:38 瀏覽:402
函數和存儲過程的區別 發布:2025-01-31 14:39:12 瀏覽:610
地下室柱子箍筋的加密 發布:2025-01-31 14:36:11 瀏覽:934
手機拍攝視頻在哪個文件夾 發布:2025-01-31 14:34:28 瀏覽:761