メインメニュー
Powered By

vine linux4.~
apache2.~
php5.~
Mysql5.~
xoops cube2.~
hp
自宅サーバより発信しています

 TOP  >  Vine linux  >  サーバー通信データ圧縮化(Apache + mod_gzip)
トップ  >  サーバー通信データ圧縮化(Apache + mod_gzip)



設定例 そのまま転載(vine linuxで自宅サーバー)


mod_gzipとはApacheのモジュールの一つで、サーバーからサイト観覧ユーザーまで、コンテンツを圧縮して転送することによりネットワークの帯域を節約することが可能になります。

※ mod_gzip は Apache1系のモジュールです。Apache2系では、mod_deflateというモジュールを使用します。


# rpm -aq | grep mod_gzip ← mod_gzipがインストール済か調べる

# apt-get install mod_gzip ← Yosiの場合インストールされていなかったのでインストール
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
  apache-devel
以下のパッケージが新たにインストールされます:
  apache-devel mod_gzip
アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 1 個
223kB のアーカイブを取得する必要があります。
展開後に 720kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y ← yを指定して [Enter]
取得:1 http://updates.vinelinux.org 3.2/i386/devel apache-devel 1.3.33-0vl2 [117kB]
取得:2 http://updates.vinelinux.org 3.2/i386/plus mod_gzip 1.3.26.1a-0vl2 [107kB]
223kB を 0s 秒で取得しました (284kB/s)
変更を適用しています...
準備中...            ########################################### [100%]
  1:apache-devel      ########################################### [ 50%]
  2:mod_gzip         ########################################### [100%]




Apacheの設定



# mkdir /etc/httpd/tmp ← 作業用ディレクトリ作成

# chown -R apache:apache /etc/httpd/tmp ← グループ、ユーザーをapacheに

# vi /etc/httpd/conf/httpd.conf ← 編集
 i キー(入力モード)

下記を追記します。

# mod_gzipの設定
LoadModule gzip_module modules/mod_gzip.so
AddModule mod_gzip.c


# gzipのログフォーマット指定
LogFormat \"%h %l %u %t \\\"%r\\\" %>s %b mod_gzip:%{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n: %{mod_gzip_compression_ratio}npct.\" gzip_info

# gzipのログの場所(httpdのログと分ける)
CustomLog /var/log/httpd/gzip_log gzip_info

# gzipを有効に
mod_gzip_on Yes

mod_gzip_can_negotiate Yes
mod_gzip_static_suffix .gz
AddEncoding gzip .gz
mod_gzip_update_static No
mod_gzip_dechunk yes
mod_gzip_keep_workfiles No

# 圧縮するファイルの最小サイズ。この値より小さいファイルは圧縮しない
mod_gzip_minimum_file_size 0

# 圧縮するファイルの最大サイズ。この値より大きいファイルは圧縮しない(0は無限)
mod_gzip_maximum_file_size 0

# 圧縮に使用するメモリサイズの上限
mod_gzip_maximum_inmem_size 52000

# 作業用ディレクトリ
mod_gzip_temp_dir /etc/httpd/tmp

# GET と POST リクエストを圧縮対象にする
mod_gzip_handle_methods GET POST

# 圧縮するファイルの指定
mod_gzip_item_include mime ^application/x-httpd-cgi
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_item_include handler ^perl-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_include file \\.shtml$
mod_gzip_item_include file \\.htm$
mod_gzip_item_include file \\.html$
mod_gzip_item_include file \\.txt$
mod_gzip_item_include file \\.dat$
mod_gzip_item_include file \\.php$
mod_gzip_item_include file \\.pl$
mod_gzip_item_include file \\.cgi$

# 圧縮しないファイルの指定
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude file \\.css$
mod_gzip_item_exclude file \\.js$

# サポートするHTTPプロトコル。1000ならHTTP/1.0以降、1001ならHTTP/1.1以降
mod_gzip_min_http 1001



追記したら Esc キー(コマンドモード):wqで保存

# /etc/init.d/httpd restart ← 再起動
httpdを停止中:                [ OK ]
httpdを起動中:                [ OK ]




ログローテーションの設定



# vi /etc/logrotate.d/apache ← 編集
 i キー(入力モード)

下記を追記します。

/var/log/httpd/gzip_log {
missingok
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}

追記したら Esc キー(コマンドモード):wq で保存




データ圧縮の確認

※ まず最初に自分のサイトにアクセスをします。


# tail /var/log/httpd/gzip_log ← ログの確認
11.222.333.444 - - [01/Dec/2005:15:57:23 +0900] \"GET / HTTP/1.1\" 304 - mod_gzip:SEND_AS_IS:NO_200 In:0 Out:0: 0pct.
111.222.333.444 - - [01/Dec/2005:15:57:23 +0900] \"GET /image/object/opening.jpg HTTP/1.1\" 304 - mod_gzip:DECLINED:EXCLUDED In:0 Out:0: 0pct.



ログを確認したら今度はこちらのサイトで確認します。

「Enter URL」に、自分のホスト名(例:xxxxx.com)を入力、
次に「goボタン」を押したら、別ウィンドウのページが開きます。

Summary:の項目で

Compression status: Compressed (gzip)

と表示されていればきちんと圧縮できていると言う事です。

File Size Comparison (in bytes):
この項目では、圧縮前後でのファイルサイズや圧縮率を確認する事ができます。

Speed Comparison by Connection Type (in seconds):
この項目では、圧縮前後での通信速度を確認する事ができます。

これらの項目をチェックして、どれくらい圧縮による効果があるか確認します。
前
cronから届くエラーメール
カテゴリートップ
vine linux 覚え書き
次
httpd.confをちょっと軽量化


Powered by XOOPS Cube Legacy 2.2 © 2001-2013 The XOOPS Cube Project  .