以前管理していたCent OS 5のApacheにmod_pagespeedを導入した際のメモ
nginx全盛の時代ですが、Apacheも適切にチューニングすれば同じくらい高速に動作します。
そんなチューニングを一手に担うmod_pagespeedモジュール。
もはや説明不要だと思いますが、天下のGoogleから提供され、数々のサイトで効果を実証されています。
mod-pagespeedリポジトリの追加
「mod_pagespeedの公式ページ」の解説にありますがリポジトリを追加してインスールするのが一番簡単です。
# vi /etc/yum.repos.d/mod-pagespeed.repo
[mod-pagespeed]
name=mod-pagespeed
baseurl=http://dl.google.com/linux/mod-pagespeed/rpm/stable/x86_64
enabled=1
gpgcheck=0
mod-pagespeedリポジトリの追加
# yum --enablerepo=mod-pagespeed install mod-pagespeed (省略) Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mod-pagespeed-beta x86_64 1.7.30.4-3847 mod-pagespeed 5.0 M Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 5.0 M Is this ok [y/N]: Exiting on user Command Complete!
何故か1度目ではインストールできない場合がありますが、もう1度yumでインストールを実行すると問題なく入ることがある。
mod-pagespeedの設定
設定によってはこのままApacheを再起動すれば動作しますが以下の確認をしてください。
キャッシュとログの書き出しを有効にする
キャッシュファイルについては以下の記述があります。
# The ModPagespeedFileCachePath directory must exist and be writable # by the apache user (as specified by the User directive).
Apacheの実行ユーザーとキャッシュディレクトリの権限を合わせる必要があるよです。
設定ファイルによると以下の場所に作成されているが、yumでインストールすると権限は自動でapacheになる。
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/" ModPagespeedLogDir "/var/log/pagespeed"
権限の変更。(hogeの部分は環境に合わせて変更してください。)
# chown -R hoge.hoge /var/cache/mod_pagespeed/ # chown -R hoge.hoge /var/log/pagespeed/
統計情報を閲覧できるようにする
mod-pagespeedには効果の測定を行える統計情報の表示と、メッセージの表示機能が付いてます。
それぞれ以下のURLで閲覧が可能。(example.comの部分はサイトに合わせて変更してください。)
統計情報:http://example.com/mod_pagespeed_statistics
メッセージ:http://example.com/mod_pagespeed_message
デフォルトではローカルの環境からしか見ることができないので、Locationディレクティブの「mod_pagespeed_statistics」と「mod_pagespeed_message」にISPのIPを登録して閲覧できるようにします。
この例ではサンプルとして192.168.0.1を追加しています。
# vi /etc/httpd/conf.d/pagespeed.conf # This page lets you view statistics about the mod_pagespeed module.Order allow,deny # You may insert other "Allow from" lines to add hosts you want to # allow to look at generated statistics. Another possibility is # to comment out the "Order" and "Allow" options from the config # file, to allow any client that can reach your server to examine # statistics. This might be appropriate in an experimental setup or # if the Apache server is protected by a reverse proxy that will # filter URLs in some fashion. Allow from localhost Allow from 127.0.0.1 Allow from 192.168.0.1 ← これを追加 SetHandler mod_pagespeed_statistics
mod_pagespeed_messageについても同じように設定してください。
以上で設定は終了です。
Apacheを再起動して有効にします。
# /etc/rc.d/init.d/httpd restart
ちなみにいくらmod_pagespeedといえど、ただ有効にするだけでは逆にサーバが遅くなることもあります。
サーバのボトルネックが回線にあるのか、CPUにあるのか、メモリにあるのか、ディスクにあるのかを判断して、機能やフィルターを調整してください。
細かな機能の把握には「CyberAgentのテックレポート mod_pagespeedの概要と導入について」が非常に参考になります。
機能を追っていけばわかりますが、mod_pagespeedは大規模サイトで回線がボトルネックになっている場合に有効です。
逆に帯域がスカスカで、CPUやメモリに余裕が無い場合は、遅くなることもあるので注意してください。