
Apache2.4系にキャッシュを導入したいとおもいます。今回はそのメモになります。
Apache2.2との違い
Apache2.2では、httpd.confに記述されていましたが、2.4系では違います。
1 | LoadModule cache_module modules/mod_cache.so |
2 | LoadModule disk_cache_module modules/mod_disk_cache.so |
↑Apache2.2ではhttpd.confにモジュールを読み込んでいます。しかし2.4系では違います。
Apache2.4の読み込み
Apache2.4ではhttpd.confにモジュールが読み込まれているわけではありません。httpd.confを確認してみると
1 | Include conf.modules.d/*.conf |
とあります。conf.modules.dの中からモジュールを読み込んでいるので確認してみます。
1 | ls -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」となります。
01 | cat /etc/httpd/conf.modules.d/00-base.conf |
03 | LoadModule access_compat_module modules/mod_access_compat.so |
04 | LoadModule actions_module modules/mod_actions.so |
05 | LoadModule alias_module modules/mod_alias.so |
06 | LoadModule allowmethods_module modules/mod_allowmethods.so |
07 | LoadModule auth_basic_module modules/mod_auth_basic.so |
08 | LoadModule auth_digest_module modules/mod_auth_digest.so |
09 | LoadModule authn_anon_module modules/mod_authn_anon.so |
10 | LoadModule authn_core_module modules/mod_authn_core.so |
11 | LoadModule authn_dbd_module modules/mod_authn_dbd.so |
12 | LoadModule authn_dbm_module modules/mod_authn_dbm.so |
13 | LoadModule authn_file_module modules/mod_authn_file.so |
14 | LoadModule authn_socache_module modules/mod_authn_socache.so |
15 | LoadModule authz_core_module modules/mod_authz_core.so |
16 | LoadModule authz_dbd_module modules/mod_authz_dbd.so |
17 | LoadModule authz_dbm_module modules/mod_authz_dbm.so |
18 | LoadModule authz_groupfile_module modules/mod_authz_groupfile.so |
19 | LoadModule authz_host_module modules/mod_authz_host.so |
20 | LoadModule authz_owner_module modules/mod_authz_owner.so |
21 | LoadModule authz_user_module modules/mod_authz_user.so |
22 | LoadModule autoindex_module modules/mod_autoindex.so |
23 | LoadModule cache_module modules/mod_cache.so |
24 | LoadModule cache_disk_module modules/mod_cache_disk.so |
25 | LoadModule data_module modules/mod_data.so |
26 | LoadModule dbd_module modules/mod_dbd.so |
27 | LoadModule deflate_module modules/mod_deflate.so |
28 | LoadModule dir_module modules/mod_dir.so |
29 | LoadModule dumpio_module modules/mod_dumpio.so |
30 | LoadModule echo_module modules/mod_echo.so |
31 | LoadModule env_module modules/mod_env.so |
32 | LoadModule expires_module modules/mod_expires.so |
33 | LoadModule ext_filter_module modules/mod_ext_filter.so |
34 | LoadModule filter_module modules/mod_filter.so |
35 | LoadModule headers_module modules/mod_headers.so |
36 | LoadModule include_module modules/mod_include.so |
37 | LoadModule info_module modules/mod_info.so |
38 | LoadModule log_config_module modules/mod_log_config.so |
39 | LoadModule logio_module modules/mod_logio.so |
40 | LoadModule mime_magic_module modules/mod_mime_magic.so |
41 | LoadModule mime_module modules/mod_mime.so |
42 | LoadModule negotiation_module modules/mod_negotiation.so |
43 | LoadModule remoteip_module modules/mod_remoteip.so |
44 | LoadModule reqtimeout_module modules/mod_reqtimeout.so |
45 | LoadModule rewrite_module modules/mod_rewrite.so |
46 | LoadModule setenvif_module modules/mod_setenvif.so |
47 | LoadModule slotmem_plain_module modules/mod_slotmem_plain.so |
48 | LoadModule slotmem_shm_module modules/mod_slotmem_shm.so |
49 | LoadModule socache_dbm_module modules/mod_socache_dbm.so |
50 | LoadModule socache_memcache_module modules/mod_socache_memcache.so |
51 | LoadModule socache_shmcb_module modules/mod_socache_shmcb.so |
52 | LoadModule status_module modules/mod_status.so |
53 | LoadModule substitute_module modules/mod_substitute.so |
54 | LoadModule suexec_module modules/mod_suexec.so |
55 | LoadModule unique_id_module modules/mod_unique_id.so |
56 | LoadModule unixd_module modules/mod_unixd.so |
57 | LoadModule userdir_module modules/mod_userdir.so |
58 | LoadModule version_module modules/mod_version.so |
59 | LoadModule vhost_alias_module modules/mod_vhost_alias.so |
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系
1 | LoadModule cache_module modules/mod_cache.so |
2 | LoadModule disk_cache_module modules/mod_disk_cache.so |
Apache2.4系
1 | LoadModule cache_module modules/mod_cache.so |
2 | LoadModule cache_disk_module modules/mod_cache_disk.so |
と読み込みモジュールが違う
キャッシュの導入
モジュールが読み込まれている事を確認(デフォルトで読み込まれている)したら、該当ファイルに記述していきます。今回はlogwを行います。logwはバーチャルホストで動かしているのでconfファイルを設定します。
キャッシュの導入-フォルダ作成-
キャッシュを格納するフォルダを作成します。
2 | chmod 777 /var/tmp/cache |
フォルダを作成したらファイルを編集します。
キャッシュの導入-confファイルの修正-
1 | vi /etc/httpd/conf.d/ドメイン名.conf |
ファイルを編集します。以下のを記述をします。
02 | <IfModule mod_cache_disk.c> |
03 | CacheRoot /var/tmp/cache |
06 | CacheIgnoreCacheControl On |
07 | CacheIgnoreNoLastMod On |
08 | CacheDefaultExpire 86400 |
修正したらファイルをチェックします。
1 | /etc/ini.d/httpd configtest |
Syntax OKとでたら再起動します
1 | /etc/ini.d/httpd restart |
このようになります。この設定では1時間ファイルを保持するかたちになります。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS