※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

参考;mod_deflateについて、http://httpd.apache.org/docs-2.0/mod/mod_deflate.htmlを参照ください。

  1. mod_deflateモジュラー検索
    ApacheのSourceCode:/usr/local/src/httpd-2.2.8
    下記のCommandでmod_deflateモジュラーを検索
    #find /software/httpd-2.2.8 -name mod_deflate.c
    #/usr/local/httpd-2.2.8/modules/filters/mod_deflate.c
    
  2. mod_deflateモジュラーコンパイル
    ApacheのInstallDirectory:/usr/local/apache2
    #/usr/local/apache2/bin/apxs -i -c /usr/local/src/httpd-2.2.8/modules/filters/mod_deflate.c
    
  3. mod_deflateモジュラーインストール
    confファイル編集
    #vi /usr/local/apache-2.2.8/conf/httpd.conf	
    下記の内容を追加:	
    LoadFile /usr/lib/libz.so	
    LoadModule deflate_module modules/mod_deflate.so	
    
  4. HTTP Compressionの応用事例
    相応するLocationにHTTP Compressionを追加	
    <Location /doc_test >	
    AuthType Basic	
    AuthName LocalUserFile_Auth	
    AuthUserFile /usr/local/apache2/conf/passwd	
    Require valid-user	
    LimitRequestBody 0	
    # Insert filter	
    SetOutputFilter DEFLATE	
    # Don't compress images	
    SetEnvIfNoCase Request_URI \	
    \.(?:gif\jpe?g|png)$ no-gzip dont-vary    	
    </Location>
    
  5. ログの取得方法
    DeflateFilterNote Input instream
    DeflateFilterNote Output outstream
    DeflateFilterNote Ratio ratio
    
    Ratio 圧縮率(出力 / 入力 * 100)
    
    #LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
    LogFormat '"%r" %{outstream}n/%{instream}n  (%{ratio}n%%)' deflate
    CustomLog /usr/local/apache2/logs/deflate_log deflate
    

全体のコンテンツに圧縮をかける場合には、下記をhttpd.confに記述する

LoadFile /usr/lib/libz.so
<IfModule mod_deflate.c>
 DeflateCompressionLevel 9
 DeflateFilterNote Input instream
 DeflateFilterNote Output outstream
 DeflateFilterNote Ratio ratio

 LogFormat '"%r" %{outstream}n/%{instream}n  (%{ratio}n%%)' deflate
 CustomLog /usr/local/apache2/logs/deflate_log deflate

#Insert filter
 SetOutputFilter DEFLATE
# Don't compress images
 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

</IfModule>