作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的脚本 cpuinfo.sh 可以运行并且可执行。
我遇到了一个错误
*224 FastCGI 在标准错误中发送:“无法获取脚本名称,是否设置了 DOCUMENT_ROOT 和 SCRIPT_NAME(或 SCRIPT_FILENAME)并且脚本可执行?”从上游读取响应 header 时,客户端:86.44.146.39,服务器:staging.example.com,请求:“GET/cpuinfo.sh HTTP/1.1”,上游:“fastcgi://unix:/var/run/fcgiwrap.套接字:”,主机:“staging.example.com”
nginx 设置是
location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ {
gzip off;
autoindex on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT /home/balance/balance-infosystems-web/scripts/;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
我期待 fcgiwrap 执行
/home/balance/balance-infosystems-web/scripts/cpuinfo.sh
我硬编码了要调试的脚本路径,但仍然遇到同样的错误。
location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ {
gzip off;
autoindex on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT /home/balance/balance-infosystems-web/scripts/;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/balance/balance-infosystems-web/scripts/cpuinfo.sh;
}
需要在 nginx 服务器配置中进行哪些更改才能正确执行脚本?
最佳答案
我发现 DOCUMENT_ROOT 无法重置。我通常有远离可公开访问路径的脚本目录。我知道scripts目录和web目录是同级的所以我试了一下。
location ~ (\.cgi|\.py|\.sh|\.pl|\.lua)$ {
gzip off;
autoindex on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_param SCRIPT_FILENAME $document_root/../scripts/$fastcgi_script_name;
include fastcgi_params ;
}
解决了这个问题。
关于nginx - 如何为 fcgiwrap 正确设置 DOCUMENT_ROOT 和 SCRIPT_NAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38828896/
我是一名优秀的程序员,十分优秀!