
Ubuntu 16 上の Apache 2.4 の仮想ホストでこの設定を使用しました。
<VirtualHost>
...
CacheQuickHandler on
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheLockMaxAge 5
CacheIgnoreHeaders Set-Cookie
<Location />
CacheEnable disk
CacheHeader on
CacheDefaultExpire 800
CacheMaxExpire 64000
CacheIgnoreNoLastMod On
</Location>
</VirtualHost>
モジュールを有効にしました:
sudo a2enmod cache
sudo a2enmod cache_disk
sudo a2enmod expires
sudo a2enmod headers
そしてエラーなしでApacheを再起動しました。ブラウザのキャッシュをクリアしてサイトを閲覧すると、コンテンツが下に表示されるはずです。
/var/cache/apache2/mod_cache_disk/
しかし、私がいつも目にするのはこれです:
root@server:~# ls -la /var/cache/apache2/mod_cache_disk/
total 8
drwxr-xr-x 2 www-data www-data 4096 Apr 18 11:29 .
drwxr-xr-x 3 root root 4096 Jun 29 08:07 ..
何もキャッシュされていないようです?!
ログを追加すると、LogFormat "%{cache-status}e " を使用してマイナス記号 "-" が多数表示されます。マイナス記号の数が増えていますが、これはどういう意味ですか?
ログファイル:
root@server:~# ls -l /etc/apache2/logs/
total 4
-rw-r--r-- 1 root root 1059 Aug 26 04:47 cache.log
-rw-r--r-- 1 root root 0 Aug 26 03:53 cached-requests.log
-rw-r--r-- 1 root root 0 Aug 26 03:53 invalidated-requests.log
-rw-r--r-- 1 root root 0 Aug 26 03:53 revalidated-requests.log
-rw-r--r-- 1 root root 0 Aug 26 03:53 uncached-requests.log
答え1
すべてうまく機能するようになりましたが、キャッシュされたコンテンツを表示するには、CacheQuickHandler をオフにする必要がありました。理由を知っている人はいますか? キャッシュが機能するかどうかわからないため、オフのままにしています。