nginx-1.4.3识别fastCGI报错 Primary script unknown

简介:

在对nginx添加fastCGI的支持后,然后进行php页面验证,发现页面识别不到,不清楚什么情况,随后google了下,原来是Nginx内置变量问题惹的祸。


1、平台介绍:

1
2
3
4
5
6
OS Version:        CentOS release  6.4  (Final)
Nginx Version:     nginx version: nginx/ 1.4 . 3
PHP Version:       PHP  5.5 . 5  (fpm-fcgi)
Mysql Version:     Server version:  5.6 . 10 -log Source distribution
Kernel Version:     2.6 . 32 - 358 .el6.x86_64
IP    address:      192.168 . 168.133


1
 

2、报错信息:

1
2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.168.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.168.133"

170203715.jpg

spacer.gif

3、错误原因及解决方法:

主配置文件第69行定义调用脚本文件路径:

1
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

而Nginx识别不到/scripts路径,所以phpinfo验证信息就无法正常通过,需要修改如下:

1
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


Note:

$document_root 代表当前请求在root指令中指定的值。

我们这里为系统默认,

1
2
3
4
location / {
        root    /usr/local/nginx/html ;
        index  index.php index.html index.htm;
         }

所以该语句就是针对/usr/local/nginx/html目录下的php文件进行解析。


然后再次进行页面查看已经ok.

170100947.jpg



本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1314565,如需转载请自行联系原作者

相关文章
|
5月前
|
应用服务中间件 nginx
nginx优化:URI过长或request header过大导致400或414报错
当出现URI过长或请求头过大导致400或414报错时,可以通过以下方式对Nginx进行优化: 1. 调整client_max_body_size参数:该参数用于限制请求体的大小。默认情况下,Nginx的client_max_body_size参数设置为1M。如果请求体超过这个大小,Nginx会返回400错误。您可以根据实际需求适当增加这个值,例如设置为10M或更大。 ``` http { client_max_body_size 10M; } ``` 2. 调整large_client_header_buffers参数:该参数用于调整请求头缓冲区的大
791 0
|
7天前
|
应用服务中间件 nginx
yum 安装报错 No package nginx available Error:Nothing to do
yum 安装报错 No package nginx available Error:Nothing to do
20 1
|
15天前
|
应用服务中间件 nginx Windows
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
【报错】Windows下启动nginx报:bind() to 0.0.0.0:80 failed...
|
6月前
|
应用服务中间件 nginx 数据安全/隐私保护
安装Nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
安装Nginx报错:make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
184 0
|
2月前
|
应用服务中间件 网络安全 nginx
解决nginx:[emerg]unknown directive ssl错误
解决nginx:[emerg]unknown directive ssl错误
127 0
|
6月前
|
域名解析 负载均衡 应用服务中间件
nginx反向代理https域名时,请求报错502问题排查
nginx反向代理https域名时,请求报错502问题排查
|
3月前
|
存储 应用服务中间件 nginx
【各种问题处理】nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
【1月更文挑战第13天】【各种问题处理】nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)
|
3月前
|
应用服务中间件 nginx C++
nginx: [emerg] unknown directive “rtmp“ in ./../conf/nginx.conf:16
nginx: [emerg] unknown directive “rtmp“ in ./../conf/nginx.conf:16
|
6月前
|
应用服务中间件 网络安全 nginx
nginx开启ssl报错: [emerg] "server" directive is not allowed here ...
nginx开启ssl报错: [emerg] "server" directive is not allowed here ...
|
8月前
|
运维 应用服务中间件 nginx
【运维杂谈】Nginx部署项目,上传文件报错413,如何解决?
【运维杂谈】Nginx部署项目,上传文件报错413,如何解决?
477 0