Apache2.4系にmod_cacheを導入
Apache2.4系にキャッシュを導入したいとおもいます。今回はそのメモになります。
Apache2.2との違い
Apache2.2では、httpd.confに記述されていましたが、2.4系では違います。
LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so
↑Apache2.2ではhttpd.confにモジュールを読み込んでいます。しかし2.4系では違います。
Apache2.4の読み込み
Apache2.4ではhttpd.confにモジュールが読み込まれているわけではありません。httpd.confを確認してみると
Include conf.modules.d/*.conf
とあります。conf.modules.dの中からモジュールを読み込んでいるので確認してみます。
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」となります。
cat /etc/httpd/conf.modules.d/00-base.conf LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authn_dbd_module modules/mod_authn_dbd.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_socache_module modules/mod_authn_socache.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule authz_dbd_module modules/mod_authz_dbd.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cache_module modules/mod_cache.so LoadModule cache_disk_module modules/mod_cache_disk.so LoadModule data_module modules/mod_data.so LoadModule dbd_module modules/mod_dbd.so LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so LoadModule dumpio_module modules/mod_dumpio.so LoadModule echo_module modules/mod_echo.so LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule include_module modules/mod_include.so LoadModule info_module modules/mod_info.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule remoteip_module modules/mod_remoteip.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule slotmem_plain_module modules/mod_slotmem_plain.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule socache_dbm_module modules/mod_socache_dbm.so LoadModule socache_memcache_module modules/mod_socache_memcache.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule status_module modules/mod_status.so LoadModule substitute_module modules/mod_substitute.so LoadModule suexec_module modules/mod_suexec.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule unixd_module modules/mod_unixd.so LoadModule userdir_module modules/mod_userdir.so LoadModule version_module modules/mod_version.so LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule auth_form_module modules/mod_auth_form.so #LoadModule buffer_module modules/mod_buffer.so #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule dialup_module modules/mod_dialup.so #LoadModule charset_lite_module modules/mod_charset_lite.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule ratelimit_module modules/mod_ratelimit.so #LoadModule reflector_module modules/mod_reflector.so #LoadModule request_module modules/mod_request.so #LoadModule sed_module modules/mod_sed.so #LoadModule speling_module modules/mod_speling.so
大量にできてきました。コメントアウトしているのは読み込まれていないモジュールになります。
まとめ
Apache2.2系
LoadModule cache_module modules/mod_cache.so LoadModule disk_cache_module modules/mod_disk_cache.so
Apache2.4系
LoadModule cache_module modules/mod_cache.so LoadModule cache_disk_module modules/mod_cache_disk.so
と読み込みモジュールが違う
キャッシュの導入
モジュールが読み込まれている事を確認(デフォルトで読み込まれている)したら、該当ファイルに記述していきます。今回はlogwを行います。logwはバーチャルホストで動かしているのでconfファイルを設定します。
キャッシュの導入-フォルダ作成-
キャッシュを格納するフォルダを作成します。
mkdir /var/tmp/cache chmod 777 /var/tmp/cache
フォルダを作成したらファイルを編集します。
キャッシュの導入-confファイルの修正-
vi /etc/httpd/conf.d/ドメイン名.conf
ファイルを編集します。以下のを記述をします。
<IfModule mod_cache.c> <IfModule mod_cache_disk.c> CacheRoot /var/tmp/cache CacheEnable disk / CacheDisable /img CacheIgnoreCacheControl On CacheIgnoreNoLastMod On CacheDefaultExpire 86400 CacheMaxExpire 172800 </IfModule> </IfModule>
修正したらファイルをチェックします。
/etc/ini.d/httpd configtest
Syntax OKとでたら再起動します
/etc/ini.d/httpd restart
このようになります。この設定では1時間ファイルを保持するかたちになります。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS