UNIX的なアレ:gihyo.jp出張所
第18回 知っておきたいApacheの基礎知識 その14
ネットワーク回線が遅くて,
ユーザ側の回線を速くすることはできないので,
今回は,
遅い回線でパフォーマンスを出すためには?
それではユーザ側の回線が遅い場合にできることは何があるのでしょうか?
「転送するコンテンツの総量を減らす」
まず,
しかしそれでもまだまだ遅く感じるようでしたら,
このモジュールはそれぞれ,
それでは以降ではそれら説明をしていきます。
mod_ expireでキャッシュさせる
まず最初に,
CSSやJavaScript,
mod_ deflateでコンテンツを圧縮
さて次は,
しかし,
なお,
主にCSSやJavaScript,
モジュールを組み込む
それではmod_
以下のコマンドでモジュールを追加してください。
$ sudo /usr/local/apache2/bin/apxs -a -i -c ${APACHE_SRC_DIR}/modules/filters/mod_deflate.c -lz $ sudo /usr/local/apache2/bin/apxs -a -i -c ${APACHE_SRC_DIR}/modules/metadata/mod_expires.c
さて,
$ ls -l /usr/local/apache20/modules/mod_deflate.so /usr/local/apache20/modules/mod_expires.so -rwxr-xr-x 1 root staff 47427 May 12 10:11 /usr/local/apache20/modules/mod_deflate.so -rwxr-xr-x 1 root staff 35955 May 12 10:10 /usr/local/apache20/modules/mod_expires.so
上記の2つのファイルができていれば成功です。
設定ファイルへの追加
それでは,
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /usr/local/apache2/vhosts/www.example.com/htdocs
ServerName www.example.com
ErrorLog /usr/local/apache2/vhosts/www.example.com/logs/error_log
CustomLog /usr/local/apache2/vhosts/www.example.com/logs/access_log common
# Deflate Settings
# Deflateをかけるコンテンツを記述する
AddOutputFilterByType DEFLATE text/html text/plain text/xml
# Expire Settings
ExpiresActive On
# 設定するコンテンツと,キャッシュする期間を記述する
ExpiresByType text/css "access plus 1 days"
ExpiresByType text/html "access plus 1 days"
ExpiresByType application/x-javascript "access plus 1 days"
ExpiresByType image/jpeg "access plus 1 days"
</VirtualHost>
上記の設定が追加できたら,
また,
それでは,
Apacheに対して,
以下の2行があることを確認してください。
Expires: Wed, 13 May 2009 02:08:02 GMT
Content-Encoding: gzip
これがそれぞれ,
設定方法はコメントに書いたとおり,
[TIPS] YSlowでパフォーマンス計測
mod_
YSlowの中で,
まとめ
さて,
最適な値は時と場合によって異なってきますので,