最低限やっておくといいApacheチューニング
先日の「さくらVPSでWebサーバを構築するテンプレ」を想定した最低限やっておくといいApacheチューニングを紹介します。MaxClientsとかは条件によって適正値が全然変わるので省きます。
不要なモジュールの読み込みをしない
以下をコメントアウトして、一般的なWebサーバで使わないモジュールの読み込みをやめる。確実に使わないのがわかれば他も。
mod_negotiation.soを無効にした場合、以下をコメントアウト
mod_proxy.soを無効にした場合、proxy_ajp.confを無効に
Expiresの設定
サーバ負荷を減らすためにコンテンツキャッシュの設定をします。
<Directory "/var/www/html">内に以下を追加(有効時間は必要に応じて調整してください。)
.htaccessを使わない
.htaccessを使うとだいぶ遅くなるので、.htaccessを使わずにhttpd.confを使う。
.htaccessをまったく使わない場合は、httpd.confで「AllowOverride None」を設定。
不要なモジュールの読み込みをしない
以下をコメントアウトして、一般的なWebサーバで使わないモジュールの読み込みをやめる。確実に使わないのがわかれば他も。
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so (SSIを使わない場合)
LoadModule logio_module modules/mod_logio.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
mod_negotiation.soを無効にした場合、以下をコメントアウト
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
mod_proxy.soを無効にした場合、proxy_ajp.confを無効に
$ mv /etc/httpd/conf.d/proxy_ajp.conf /etc/httpd/conf.d/proxy_ajp.conf.bak
Expiresの設定
サーバ負荷を減らすためにコンテンツキャッシュの設定をします。
<Directory "/var/www/html">内に以下を追加(有効時間は必要に応じて調整してください。)
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType video/x-flv "access plus 30 days"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/javascript "access plus 30 days"
</ifModule>
FileETag none
.htaccessを使わない
.htaccessを使うとだいぶ遅くなるので、.htaccessを使わずにhttpd.confを使う。
.htaccessをまったく使わない場合は、httpd.confで「AllowOverride None」を設定。