Константин Ткаченко wrote: > > 2019/01/23 15:29:36 [error] 93721#100134: *5 FastCGI sent in stderr: > > "Cannot get script name, are DOCUMENT_ROOT and SCRIPT_NAME (or > > SCRIPT_FILENAME) set and is the script executable?" while reading response > > header from upstream, client: 10.10.10.3, server: , request: "GET > > /cgi-bin/test HTTP/1.1", upstream: "fastcgi://unix:/tmp/fcgiwrap.socket:", > > host: "admin.sibptus.ru"
> Владельца для /usr/local/www/cgi-bin/test пробовали ставить в www? > Понятно, что есть чтение, но меня смущает эта директива fcgiwrap_user="www" Нет, права и владельцы тут ни при чём, дело в другом. Путь к скрипту задаётся (передаётся в fcgiwrap) склеиванием двух переменных: SCRIPT_NAME и DOCUMENT_ROOT, которые получаются из $fastcgi_script_name и $document_root соответственно. По умолчанию $fastcgi_script_name=$request_uri, то есть при моей конфигурации > > location /cgi-bin/ { > > root /usr/local/www/cgi-bin; > > include /usr/local/etc/nginx/fastcgi_params; > > fastcgi_pass unix:/tmp/fcgiwrap.socket; > > } путь к cgi-скрипту получался "/usr/local/www/cgi-bin/cgi-bin/test", понятно что такого пути нет. Поэтому надо было или урезать root до "/usr/local/www", или задать свой $fastcgi_split_path_info, который бы переопределил $fastcgi_script_name, отрезав от "/cgi-bin/test" только последнюю компоненту. Спасибо Иван <nginx эт kinetiksoft.com> за верную наводку. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN 2:5005/49@fidonet http://vas.tomsk.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru