В этой статье мы поговорим о том, как настроить Apache2 для управления кешированием браузера. Если вы хотите уменьшить потребление ресурсов вашего сервера, повысить быстродействие, использовать пропускную способность, доступность контента во время сетевых прерываний и дать своим конечным пользователям более быстрый опыт, вам необходимо использовать кеширование, которое позволит все это.
Кэш – это метод временного хранения наиболее запрашиваемого контента, чтобы будущие запросы на этот контент быстрее обслуживались временным хранилищем (кешем), чем из основного местоположения. Используя кеширование, вы эффективно повторно используете ранее полученные данные. Сегодня мы настроим контроль кеширования браузера на Apache 2. Давайте начнем.
Обычно наши серверы уже включили file_cache, который необходим для управления кешем браузера. Однако нам необходимо убедиться, что наш Apache2 вместе с нашим модулем установлен и готов принять директивы. Существует простой способ проверить наш модуль. Чтобы перечислить модули Apache, мы будем использовать команду apachectl, а чтобы отобразить модули и каналы командой grep, для фильтрации наших результатов и показать только те модули, которые нам нужны.
Мы можем проверить модуль file_cache с помощью следующей команды:
apachectl -M | grep file_cache
вывод должен быть следующим:
file_cache_module (shared)
Если после выполнения этих команд у вас ничего нет в результате, или он просто пуст, то модуль не установлен. Вы должны установить его для продолжения этого урока.
Чтобы использовать функциональные возможности модуля file_cache, вам необходимо сначала включить его. Если вы используете CentOS 7 или Ubuntu 16.04, этот модуль по умолчанию не настроен в Apache, поэтому этот модуль не загружается. Мы покажем вам, как настроить и включить модуль file_cache в CentOS 7 и Ubuntu 16.04.
Если вы используете Ubuntu 16.04. вы можете включить модуль file_cache с помощью следующей команды:
a2enmod file_cache
Следующий шаг – отредактировать главный файл конфигурации Apache. Откройте главный файл конфигурации Apache, введя:
nano /etc/apache2/apache2.conf
Чтобы использовать CacheFile, добавьте эту строку в файл конфигурации:
CacheFile /var/www/html/index.html /var/www/html/somefile.index
Если вы хотите использовать директиву MMapFile, вы должны добавить эту строку в файл конфигурации:
MMapFile /var/www/html/index.html /var/www/html/somefile.index
Не должно быть никаких оснований настраивать оба CacheFile и MMapFile для одних и тех же файлов, но вы также можете использовать их в разных файлах. Когда вы закончите настройку, сохраните файл и закройте его.
Вы можете проверить конфигурационный файл Apache на синтаксическую ошибку с помощью следующей команды:
apachectl configtest
В конце, когда вы получите Syntax OK, вы можете перезапустить Apache, введя команду:
service apache2 restart
После перезапуска Apache вы начнете использовать модуль file_cache в файлах, которые вы настроили.
Для CentOS 7 мы создадим файл в каталоге /etc/httpd/conf.modules.d с именем 00-cache:
nano /etc/httpd/conf.modules.d/00-cache.conf
Вставьте следующую строку в новый файл конфигурации:
LoadModule file_cache_module modules/mod_file_cache.so
Сохраните и закройте файл.
Теперь вы должны отредактировать главный файл конфигурации Apache. Откройте главный файл конфигурации Apache с помощью редактора nano при помощи этой команды:
nano /etc/httpd/conf/httpd.conf
Если вы хотите использовать директиву CacheFile для обработки кэширования, вы должны вставить следующую строку в файл конфигурации Apache.
CacheFile /var/www/html/index.html /var/www/html/somefile.index
Если вы хотите использовать директиву MMapFile, вы должны добавить эту строку в файл конфигурации:
MMapFile /var/www/html/index.html /var/www/html/somefile.index
На практике нет необходимости, чтобы директивы CacheFile и MMapFile были настроены для одних и тех же файлов, но вы можете использовать их как в файле конфигурации для отложенного набора файлов.
Когда вы закончите настройку сохранения файла и закройте его. Вы можете проверить конфигурационный файл Apache для синтаксической ошибки с помощью следующей команды:
apachectl configtest
Вы должны получить сообщение «Syntax OK», что означает, что ваша конфигурация верна, и вы можете перезапустить Apache, выполнив команду:
systemctl restart httpd
В этом учебном пособии в первой части мы показали вам, как проверить, включен ли ваш модуль file_cache на вашем сервере. Во второй части мы рассказали, как включить и настроить Apache2 для управления кешированием браузера на Ubuntu и CentOS.
Спасибо! Отличная статья!