<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Windows 如何開啟 Gzip 功能


    發現錯別字 2年前 提問
    回答
    2
    瀏覽
    421
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    等保中級測評師 CICSA
    最佳答案

    Apache開啟GZIP功能:Apache開啟GZIP要看查看是否已經開啟mod_deflate模塊,如果沒有則需要先加載;

    IIS開啟GZIP功能:打開IIS管理工具,在右鍵網站打開網站屬性,在服務選項卡中開啟HTTP壓縮;

    Nginx開啟GZIP功能:打開配置文件 nginx.conf找到gzip on 把前面的注釋符號#去掉即可開啟GZIP服務。

    ZIP是若干文件壓縮程序的簡稱,通常指GNU計劃的實現,此處的GZIP代表的就是GUN ZIP,這也是HTTP1.1協議定義的兩種壓縮方法中最常用的一種壓縮方法,客戶端瀏覽器大都支持這種壓縮格式。以下將介紹apache、IIS、nginx 這些現在流行的web服務器如何開啟GZIP壓縮的方法。

    Apache如何開啟GZIP功能

    Apache開啟GZIP要看查看是否已經開啟mod_deflate模塊,如果沒有則需要先加載,在配置文件httpd.conf中將

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

    前面的#號去掉。DNSLA建議,如果對apache的配置文件不太懂的客戶在修改配置文件之前對配置文件進行備份。

    開啟模塊后,在httpd.conf配置文件的最下面空白處添加一下內容:

    <IfModule mod_deflate.c>
    # 告訴 apache 對傳輸到瀏覽器的內容進行壓縮
    SetOutputFilter DEFLATE
    # 壓縮等級 9
    DeflateCompressionLevel 9
    </IfModule>

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

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

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

    <IfModule mod_deflate.c>
    # 告訴 apache 對傳輸到瀏覽器的內容進行壓縮
    SetOutputFilter DEFLATE
    # 壓縮等級 9
    DeflateCompressionLevel 9
    #設置不對后綴gif,jpg,jpeg,png的圖片文件進行壓縮
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>

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

    <IfModule mod_deflate.c>
    # 壓縮等級 9
    DeflateCompressionLevel 9
    # 壓縮類型 html、xml、php、css、js
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
    </IfModule>

    其中DeflateCompressionLevel 的意思是壓縮等級,共分為1-9,9級為最高,不建議使用太高的壓縮比,這樣會對CPU產生太大的負擔。

    IIS如何開啟GZIP功能

    打開IIS管理工具,在右鍵網站打開網站屬性,在服務選項卡中開啟HTTP壓縮,不建議選中壓縮應用程序文件,但一定要選上壓縮靜態文件,不然就等于沒有壓縮,達不到負載均衡了。然后選中我那個站下面那個服務器擴展,新建一個服務器擴展,名字為GZIP,下面的添加文件路徑為:c:\windows\system32\inetsrv\gzip.dll,然后啟用這個擴展。DNSLA提醒大家,還沒結束,第三步是,我們要修改配置文件,在配置文件之前要停止IIS服務,(DNSLA提醒大家一定要先關閉IIS服務)打開C:\Windows\System32\inetsrv\MetaBase.xml,這個文件很大,找到下面一段信息:

    <IIsCompressionScheme  Location ="/LM/W3SVC/Filters/Compression/gzip"
    HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
    HcCreateFlags="1" 
    HcDoDynamicCompression="TRUE" 
    HcDoOnDemandCompression="TRUE" 
    HcDoStaticCompression="TRUE" 
    HcDynamicCompressionLevel="0" 
    HcFileExtensions="htm
    html
    txt" 
    HcOnDemandCompLevel="10" 
    HcPriority="1" 
    HcScriptFileExtensions="asp
    dll
    exe" 
    > 
    </IIsCompressionScheme>

    修改這個文件是要增加一些要進行壓縮的文件后綴,其中 HcFileExtensions 是靜態文件的擴展名,增加 js 和 css 等;HcScriptFileExtensions 為動態文件的擴展名,增加 aspx,HcDynamicCompressionLevel改成9,(0-10,6是性價比最高的一個)。

    然后需要重啟一下IIS服務即可。

    Nginx如何開啟GZIP功能

    相對apache 和 IIS nginx開啟GZIP簡單很多,只需要打開配置文件 nginx.conf找到gzip on 把前面的注釋符號#去掉即可開啟GZIP服務。然后配置GZIP即可。

    下面是一個相對優化不錯的配置,DNSLA建議使用。

    Gzip on; 
    gzip_min_length 1024; 
    gzip_buffers   4  8k; 
    gzip_types   text/plain application/x-javascript text/css  application/xml;
    

    回答所涉及的環境:聯想天逸510S、Windows 10。

    2年前 / 評論
    回答數量: 2
    安全集成(專業級)SP/PL CICSA

    樓上介紹了IIS的Gzip開啟方法,我這里介紹一下Apache啟用Gzip壓縮方法,第一步開啟模塊并添加配置項目。

    a、vi /etc/httpd/conf/httpd.conf
    
    b、查找LoadModule (/LoadModule),加入“LoadModule deflate_module modules/mod_deflate.so”這行
    
    c、添加配置項目(下段內容)
    
    <IfModule mod_deflate.c>
    # 壓縮等級 9
    DeflateCompressionLevel 9
    # 壓縮類型 html、xml、php、css、js
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
    </IfModule>

    重啟Apache使之生效:

    service httpd start

    回答所涉及的環境:聯想天逸510S、Windows 10。

    2年前 / 評論
    亚洲 欧美 自拍 唯美 另类