
Я использовал эту конфигурацию на своем виртуальном хосте в Apache 2.4 на Ubuntu 16:
<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, чтобы увидеть кэшированное содержимое. Кто-нибудь знает, почему? Я отключаю его, так как не знаю, работает ли кэширование в противном случае.