Apache2.4系にmod_cacheを導入

Apache2.4系にキャッシュを導入したいとおもいます。今回はそのメモになります。

Apache2.2との違い

Apache2.2では、httpd.confに記述されていましたが、2.4系では違います。

1LoadModule cache_module modules/mod_cache.so
2LoadModule disk_cache_module modules/mod_disk_cache.so

↑Apache2.2ではhttpd.confにモジュールを読み込んでいます。しかし2.4系では違います。

Apache2.4の読み込み

Apache2.4ではhttpd.confにモジュールが読み込まれているわけではありません。httpd.confを確認してみると

とあります。conf.modules.dの中からモジュールを読み込んでいるので確認してみます。

1ls  -all /etc/httpd/conf.modules.d/
00-base.conf 00-dav.conf 00-lua.conf 00-mpm.conf 00-proxy.conf 00-ssl.conf 01-cgi.conf 10-php.confと読み込みファイルがでてきます。モジュールは「00-base.conf」となります。
01cat /etc/httpd/conf.modules.d/00-base.conf
02 
03LoadModule access_compat_module modules/mod_access_compat.so
04LoadModule actions_module modules/mod_actions.so
05LoadModule alias_module modules/mod_alias.so
06LoadModule allowmethods_module modules/mod_allowmethods.so
07LoadModule auth_basic_module modules/mod_auth_basic.so
08LoadModule auth_digest_module modules/mod_auth_digest.so
09LoadModule authn_anon_module modules/mod_authn_anon.so
10LoadModule authn_core_module modules/mod_authn_core.so
11LoadModule authn_dbd_module modules/mod_authn_dbd.so
12LoadModule authn_dbm_module modules/mod_authn_dbm.so
13LoadModule authn_file_module modules/mod_authn_file.so
14LoadModule authn_socache_module modules/mod_authn_socache.so
15LoadModule authz_core_module modules/mod_authz_core.so
16LoadModule authz_dbd_module modules/mod_authz_dbd.so
17LoadModule authz_dbm_module modules/mod_authz_dbm.so
18LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
19LoadModule authz_host_module modules/mod_authz_host.so
20LoadModule authz_owner_module modules/mod_authz_owner.so
21LoadModule authz_user_module modules/mod_authz_user.so
22LoadModule autoindex_module modules/mod_autoindex.so
23LoadModule cache_module modules/mod_cache.so
24LoadModule cache_disk_module modules/mod_cache_disk.so
25LoadModule data_module modules/mod_data.so
26LoadModule dbd_module modules/mod_dbd.so
27LoadModule deflate_module modules/mod_deflate.so
28LoadModule dir_module modules/mod_dir.so
29LoadModule dumpio_module modules/mod_dumpio.so
30LoadModule echo_module modules/mod_echo.so
31LoadModule env_module modules/mod_env.so
32LoadModule expires_module modules/mod_expires.so
33LoadModule ext_filter_module modules/mod_ext_filter.so
34LoadModule filter_module modules/mod_filter.so
35LoadModule headers_module modules/mod_headers.so
36LoadModule include_module modules/mod_include.so
37LoadModule info_module modules/mod_info.so
38LoadModule log_config_module modules/mod_log_config.so
39LoadModule logio_module modules/mod_logio.so
40LoadModule mime_magic_module modules/mod_mime_magic.so
41LoadModule mime_module modules/mod_mime.so
42LoadModule negotiation_module modules/mod_negotiation.so
43LoadModule remoteip_module modules/mod_remoteip.so
44LoadModule reqtimeout_module modules/mod_reqtimeout.so
45LoadModule rewrite_module modules/mod_rewrite.so
46LoadModule setenvif_module modules/mod_setenvif.so
47LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
48LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
49LoadModule socache_dbm_module modules/mod_socache_dbm.so
50LoadModule socache_memcache_module modules/mod_socache_memcache.so
51LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
52LoadModule status_module modules/mod_status.so
53LoadModule substitute_module modules/mod_substitute.so
54LoadModule suexec_module modules/mod_suexec.so
55LoadModule unique_id_module modules/mod_unique_id.so
56LoadModule unixd_module modules/mod_unixd.so
57LoadModule userdir_module modules/mod_userdir.so
58LoadModule version_module modules/mod_version.so
59LoadModule vhost_alias_module modules/mod_vhost_alias.so
60 
61#LoadModule auth_form_module modules/mod_auth_form.so
62#LoadModule buffer_module modules/mod_buffer.so
63#LoadModule watchdog_module modules/mod_watchdog.so
64#LoadModule heartbeat_module modules/mod_heartbeat.so
65#LoadModule heartmonitor_module modules/mod_heartmonitor.so
66#LoadModule usertrack_module modules/mod_usertrack.so
67#LoadModule dialup_module modules/mod_dialup.so
68#LoadModule charset_lite_module modules/mod_charset_lite.so
69#LoadModule log_debug_module modules/mod_log_debug.so
70#LoadModule ratelimit_module modules/mod_ratelimit.so
71#LoadModule reflector_module modules/mod_reflector.so
72#LoadModule request_module modules/mod_request.so
73#LoadModule sed_module modules/mod_sed.so
74#LoadModule speling_module modules/mod_speling.so

大量にできてきました。コメントアウトしているのは読み込まれていないモジュールになります。

まとめ

Apache2.2系

1LoadModule cache_module modules/mod_cache.so
2LoadModule disk_cache_module modules/mod_disk_cache.so

Apache2.4系

1LoadModule cache_module modules/mod_cache.so
2LoadModule cache_disk_module modules/mod_cache_disk.so

と読み込みモジュールが違う

キャッシュの導入

モジュールが読み込まれている事を確認(デフォルトで読み込まれている)したら、該当ファイルに記述していきます。今回はlogwを行います。logwはバーチャルホストで動かしているのでconfファイルを設定します。

キャッシュの導入-フォルダ作成-

キャッシュを格納するフォルダを作成します。

1mkdir /var/tmp/cache
2chmod 777 /var/tmp/cache

フォルダを作成したらファイルを編集します。

キャッシュの導入-confファイルの修正-

1vi /etc/httpd/conf.d/ドメイン名.conf

ファイルを編集します。以下のを記述をします。

01<IfModule mod_cache.c>
02    <IfModule mod_cache_disk.c>
03        CacheRoot /var/tmp/cache
04        CacheEnable disk /
05        CacheDisable /img
06        CacheIgnoreCacheControl On
07        CacheIgnoreNoLastMod On
08        CacheDefaultExpire 86400
09        CacheMaxExpire 172800
10    </IfModule>
11</IfModule>

修正したらファイルをチェックします。

Syntax OKとでたら再起動します

このようになります。この設定では1時間ファイルを保持するかたちになります。

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS