ajp_cache

Директива `ajp_cache` включает кэширование ответов от AJP-сервера в NGINX.

Синтаксисajp_cache zone;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива ajp_cache является частью AJP-модуля NGINX, который упрощает проксирование запросов на совместимые с AJP серверы, такие как Apache Tomcat. При включении эта директива указывает зону общей памяти для кэширования ответов от бэкенд AJP-сервера. Это позволяет сохранять ответы в памяти, что улучшает время отклика при повторных запросах и снижает нагрузку на бэкенд-сервер. Для эффективного использования этой директивы она должна сопровождаться заранее определённой директивой ajp_cache_path, которая задаёт настройки кэша и путь хранения.

Эту директиву можно использовать в контекстах http, server или location, что даёт гибкость в выборе места применения кэширования в конфигурации NGINX. Поведение кэша можно дополнительно настроить с помощью связанных директив, таких как ajp_cache_key — для настройки ключей кэша на основе параметров запроса, или ajp_cache_min_uses — чтобы задать, сколько раз ответ должен быть использован, прежде чем он будет закэширован. Без корректной настройки этих параметров администраторы могут столкнуться с такими проблемами, как cache flooding или неэффективное кэширование, что приведёт к ухудшению производительности вместо ожидаемого улучшения.

Пример конфига

http {
    ajp_cache my_cache;
    ajp_cache_path /var/cache/nginx/ajp_cache levels=1:2 keys_zone=my_cache:10m inactive=60m;
    server {
        listen 80;
        location / {
            ajp_pass my_backend;
            ajp_cache on;
        }
    }
}

Убедитесь, что ajp_cache_path определён до использования ajp_cache.

Конфигурация ключа кэша должна быть понятной, чтобы избежать непреднамеренных промахов кэша или избыточной нагрузки.

← Ко всем директивам