近日运行PHP的服务器遭受到Dos攻击,导致服务器不得不关闭80端口,由于一些网址使用的是http访问,而且地址被写入到二维码中不能更换,于是只好更换服务器了,在一通操作下过后配置nginx和php时遇到了一些问题。

Nginx-Primary script unknown的报错

[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"

在Nginx的conf中遭到定义脚本文件的地方:

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

修改成如下方式($document_root):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

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

location / {
   root   /usr/local/nginx/html;
   index  index.php index.html index.htm;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

上面配置中的$document_root就是针对/usr/local/nginx/html目录下的php文件进行解析。