cgi
Директива 'cgi' включает поддержку CGI для выполнения скриптов в NGINX.
Описание
Директива 'cgi' позволяет NGINX обрабатывать запросы через Common Gateway Interface (CGI) скрипты, обеспечивая возможности серверной разработки. Она может применяться как в контексте server, так и в контексте location, что делает её универсальной для разных частей конфигурации веб-приложения. Эта директива требует одного или нескольких аргументов, которые указывают скрипты, которые должны выполняться в ответ на входящие запросы, позволяя генерировать динамический контент.
Функциональность директивы можно расширить с помощью различных опций, таких как указание интерпретатора для скриптов (например, Python или PHP), установка рабочей директории и управление поведением сервиса в отношении логирования ошибок. Модуль cgi управляет выполнением указанных скриптов, обрабатывает ввод/вывод через каналы и парсит заголовки из CGI-скриптов для возврата соответствующих ответов клиентам. Тщательная настройка таймаутов и управления процессами необходима для обеспечения оптимальной производительности и избежания чрезмерного использования ресурсов.
Важно отметить, что хотя CGI может не подходить для высоконагруженных сред из-за накладных расходов на производительность, он может быть весьма эффективен для приложений с низкой нагрузкой, таких как персональные проекты или задачи администрирования. Это делает его особенно привлекательным для разработчиков, работающих над простыми прототипами или приложениями, требующими менее частого взаимодействия.
Пример конфига
location /cgi-bin {
cgi script;
cgi interpreter /usr/bin/python;
cgi working_dir /var/www/cgi-bin;
}Убедитесь, что для скриптов установлены правильные права доступа, чтобы их мог выполнять NGINX.
Остерегайтесь накладных расходов CGI — при высокой нагрузке производительность может ухудшаться.
При указании интерпретатора убедитесь, что путь указан правильно и файл имеет права на выполнение.