scgi_store
Директива `scgi_store` определяет, куда сохранять тело ответа на SCGI-запрос. — NGINX HTTP Core
Описание
Директива `scgi_store` используется для указания пути к файлу, в котором может быть сохранено тело ответа от SCGI-сервера. Это особенно полезно для целей кеширования или отладки, когда данные ответа нужны для анализа или последующего доступа. Когда эта директива задана, NGINX сохранит тело ответа в указанный файл перед отправкой ответа клиенту. Имя файла можно задавать динамически с помощью переменных, что добавляет гибкости процессу сохранения. Директива `scgi_store` принимает один аргумент — путь к выходному файлу, в котором будет храниться тело ответа. Если указанный файл уже существует, он будет усечён перед записью нового тела ответа. Директива поддерживается в различных контекстах, включая `http`, `server` и `location`, что обеспечивает гибкость её использования в разных областях конфигурации NGINX. Также необходимо установить корректные права доступа для указанного пути хранения, чтобы рабочий процесс NGINX имел права на запись в это место. При использовании этой директивы рассмотрите возможность её применения совместно с директивой `scgi_pass` для установления соединения с SCGI-бэкендом. Поскольку это может включать операции с файловой системой, необходимо учитывать влияние на производительность, особенно если ответы большие или частые, так как операции ввода-вывода файлов могут стать узким местом при высокой нагрузке.
Пример конфига
location /scgi {
scgi_pass 127.0.0.1:4000;
scgi_store /var/www/html/scgi_response.txt;
}Убедитесь, что рабочий процесс NGINX имеет разрешение на запись в указанный путь хранения.
Перезапись существующих файлов может привести к потере данных; убедитесь, что применяются надлежащие практики управления файлами.
Динамическая генерация имен файлов с помощью переменных должна быть тщательно протестирована, чтобы избежать проблем с файловой системой.