scgi_cache

Директива 'scgi_cache' включает кэширование ответов SCGI-серверов в NGINX.

Синтаксисscgi_cache path;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива scgi_cache используется в контексте HTTP-сервера или блока location в NGINX, позволяя кэшировать ответы SCGI (Simple Common Gateway Interface). Когда эта директива задана с путём к зоне кэша, все ответы от upstream SCGI-сервера сохраняются в этом кэше, что позволяет снизить задержки и уменьшить нагрузку на бэкенд-сервер при последующих запросах. Поведение кэширования далее контролируется дополнительными параметрами и директивами, такими как scgi_cache_key, которая определяет, как индексируются элементы кэша, и scgi_cache_path, которая задаёт расположение хранилища кэша и его конфигурацию.

Директива работает совместно с другими конфигурациями, связанными с SCGI. Например, указание scgi_pass направит трафик к upstream SCGI-серверу, в то время как scgi_cache_valid может определять, как долго ответ может храниться в кэше в зависимости от кода состояния HTTP. Важно эффективно управлять размером кэша и сроками хранения, чтобы избежать устаревших данных или чрезмерного использования памяти. Кэширование может значительно улучшить производительность, но требует тщательной настройки для поддержания эффективности.

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

http {
    scgi_cache /var/cache/scgi;
    server {
        location /app {
            scgi_pass backend;
            scgi_cache my_cache;
            scgi_cache_valid 200 1h;
        }
    }
}

Убедитесь, что путь к кэшу доступен для записи рабочими процессами NGINX.

Учтите стратегии инвалидации кэша; устаревшие данные могут быть выданы, если они не будут обработаны должным образом.

Не путайте 'scgi_cache' с 'proxy_cache', так как они предназначены для разных протоколов.

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