cgi_working_dir
Устанавливает рабочую директорию для CGI-скриптов, выполняемых NGINX.
Описание
cgi_working_dir директива позволяет указать рабочую директорию для CGI-скриптов при их выполнении NGINX. Эта директива особенно полезна, когда скриптам необходимо работать в определённом каталожном контексте, например при обращении к относительным путям или создании файлов. Она влияет на то, как готовится окружение для CGI-скрипта, так как определяет, из какой директории будет выполняться скрипт. Рабочая директория, указанная в этой директиве, становится текущей рабочей директорией для CGI-процесса, порождённого NGINX.
Эта директива может располагаться как в контекстах server, так и location, что обеспечивает гибкость в зависимости от требуемой области действия. Аргументом этой директивы является строка, представляющая путь к директории. Если указано несколько директив cgi_working_dir, используется наиболее специфичная (обычно та, что в ближайшем контексте), если только она не переопределена непосредственно в конфигурации CGI. Могут возникнуть ошибки, если указанная директория не существует или у рабочего процесса NGINX недостаточно прав для доступа к ней.
Пример конфига
server {
location /cgi-bin {
cgi_pass unix:/tmp/cgi.sock;
cgi_working_dir /var/www/cgi-scripts;
}
}Убедитесь, что указанный каталог существует, так как несуществующий каталог может привести к сбоям выполнения CGI.
Проверьте, что рабочий процесс NGINX имеет необходимые разрешения для чтения и выполнения скриптов в указанном рабочем каталоге.