Кэширование · 2 min read · Jan 01, 2026
Кэширование с помощью mod_cache Apache на Debian Etch
Кэширование с помощью mod_cache Apache на Debian Etch
Версия 1.0
Автор: Фалко Тимме
Эта статья объясняет, как вы можете кэшировать содержимое вашего веб-сайта с помощью mod_cache Apache на Debian Etch. Если у вас есть динамический веб-сайт с высоким трафиком, который генерирует множество запросов к базе данных при каждом запросе, вы можете значительно снизить нагрузку на сервер, кэшируя ваше содержимое на несколько минут или более (это зависит от того, как часто вы обновляете ваше содержимое).
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Я предполагаю, что у вас есть рабочая установка Apache2 (Apache 2.2.x - до этой версии mod_cache считается экспериментальным) из репозиториев Debian - версия Apache в репозиториях Debian Etch составляет 2.2.3, так что вы должны быть готовы к работе.
Я использую корневую директорию /var/www для моего тестового виртуального хоста - вы должны настроить это, если ваша корневая директория отличается.
2 Включение mod_cache
mod_cache имеет два подсистемы, которые управляют хранилищем кэша, mod_disk_cache (для хранения содержимого на жестком диске) и mod_mem_cache (для хранения содержимого в памяти, что быстрее, чем кэширование на диске). Решите, какой из них вы хотите использовать, и продолжайте либо с главы 2.1 (mod_disk_cache), либо 2.2 (mod_mem_cache).
2.1 mod_disk_cache
Конфигурация mod_disk_cache хранится в /etc/apache2/mods-available/disk_cache.conf, так что давайте отредактируем этот файл:
vi /etc/apache2/mods-available/disk_cache.confУбедитесь, что вы раскомментировали строку CacheEnable disk /, чтобы минимальная конфигурация выглядела следующим образом:
| # a2enmod-note: needs-configuration |
Вы можете найти объяснения для этих параметров конфигурации и дальнейшие параметры конфигурации на http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html.
Теперь мы можем включить mod_cache и mod_disk_cache:
a2enmod cache
a2enmod disk_cache
/etc/init.d/apache2 force-reloadЧтобы убедиться, что наша директория кэша /var/cache/apache2/mod_disk_cache не заполняется со временем, мы должны очищать ее с помощью команды htcacheclean. Эта команда является частью пакета apache2-utils, который мы устанавливаем следующим образом:
apt-get install apache2-utils После этого мы можем запустить htcacheclean как демон следующим образом:
htcacheclean -d30 -n -t -p /var/cache/apache2/mod_disk_cache -l 100M -iЭто будет очищать нашу директорию кэша каждые 30 минут и гарантировать, что она не станет больше 100 МБ. Чтобы узнать больше о htcacheclean, посмотрите на
man htcachecleanКонечно, вы не хотите запускать htcacheclean вручную каждый раз, когда перезагружаете сервер - поэтому мы редактируем /etc/rc.local…
vi /etc/rc.local… и добавляем следующую строку перед строкой exit 0:
| [...] /usr/sbin/htcacheclean -d30 -n -t -p /var/cache/apache2/mod_disk_cache -l 100M -i [...] |
Это будет автоматически запускать htcacheclean каждый раз, когда вы запускаете сервер.
Get new posts in your inbox
No spam. Unsubscribe anytime.