NGINX fastcgi无法获取脚本名称
我正在nginx上设置fastcgi。我有点让它工作了。如果我有NGINX fastcgi无法获取脚本名称,nginx,cgi,fastcgi,Nginx,Cgi,Fastcgi,我正在nginx上设置fastcgi。我有点让它工作了。如果我有factcgi_param SCRIPT_FILENAME/var/www/cgi-bin/hello.cgi,则在我的位置块内它可以工作。但是我不想硬编码链接 使用以下配置设置fastcgi factcgi_param SCRIPT_FILENAME /var/www/cgi-bin/$fastcgi_script_name; 我得到以下错误 cannot get script name are document_root a
factcgi_param SCRIPT_FILENAME/var/www/cgi-bin/hello.cgi,则在我的位置块内代码>它可以工作。但是我不想硬编码链接
使用以下配置设置fastcgi
factcgi_param SCRIPT_FILENAME /var/www/cgi-bin/$fastcgi_script_name;
我得到以下错误
cannot get script name are document_root and script_name or (script_file) set and is the script executable?
while reading response header upstream from upstream. client 127.0.0.1,
server _, request "get /cgi-bin/hello.cgi"
在网页上我得到403禁止
hello.cgi
是可执行的,当我硬编码时,它就会工作。
我的看起来您的HTTP请求是/cgi-bin/hello.cgi
,因此您应该使用factcgi-param-SCRIPT\u-FILENAME/var/www$fastcgi\u-SCRIPT\u-name
而不是factcgi-param-SCRIPT\u-FILENAME/var/www/cgi-bin/$fastcgi\u-SCRIPT\u-name代码>。谢谢你的工作。通常它像root/var/www
然后factcgi\u param SCRIPT\u FILENAME$document\u root$fastcgi\u SCRIPT\u name代码>。当您想要更改站点的根目录时,唯一需要更改的是root
指令值。