nginx下php无法访问报错Primary script unknown的解决方法

在用虚拟机搭建环境的时候,出现访问php文件无法获取到。总是报错Primary script unknown,但是静态文件是可以正常访问的。通过排查日志,检查个服务是否正常等方法终于找到解决的方法。

报错如下:

  1. FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream

详细报错如下:

  1. 2017/05/11 10:26:45 [error] 5475#5475: *1 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 192.168.1.194, server: demo.demo.com, request: “GET /index.php HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “localhost”

一、检查所需的服务是否都正常。

  1. service nginx status
  2. service phpfpm status
  3. netstat antp

此处常规的排错,就一笔带过。

二、修改nginx网站的配置。

默认的情况下文件地址在:/etc/nginx/conf.d/default.conf

默认配置:

  1. server {
  2.     listen       80;
  3.     server_name  localhost;
  4.     #charset koi8-r;
  5.     #access_log  /var/log/nginx/log/host.access.log  main;
  6.     location / {
  7.         root   /usr/share/nginx/html;
  8.         index  index.html index.htm;
  9.     }
  10.     #error_page  404              /404.html;
  11.     # redirect server error pages to the static page /50x.html
  12.     #
  13.     error_page   500 502 503 504  /50x.html;
  14.     location = /50x.html {
  15.         root   /usr/share/nginx/html;
  16.     }
  17.     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  18.     #
  19.     #location ~ \.php$ {
  20.     #    proxy_pass   http://127.0.0.1;
  21.     #}
  22.     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23.     #
  24.     #location ~ \.php$ {
  25.     #    root           html;
  26.     #    fastcgi_pass   127.0.0.1:9000;
  27.     #    fastcgi_index  index.php;
  28.     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
  29.     #    include        fastcgi_params;
  30.     #}
  31.     # deny access to .htaccess files, if Apache’s document root
  32.     # concurs with nginx’s one
  33.     #
  34.     #location ~ /\.ht {
  35.     #    deny  all;
  36.     #}
  37. }

将其修改为:

  1. server {
  2.     listen       80;
  3.     server_name  localhost;
  4.     #charset koi8-r;
  5.     #access_log  /var/log/nginx/log/host.access.log  main;
  6.     location / {
  7.         root   /usr/share/nginx/html;
  8.         index  index.php index.html index.htm;
  9.     }
  10.     #error_page  404              /404.html;
  11.     # redirect server error pages to the static page /50x.html
  12.     #
  13.     error_page   500 502 503 504  /50x.html;
  14.     location = /50x.html {
  15.         root   /usr/share/nginx/html;
  16.     }
  17.     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  18.     #
  19.     #location ~ \.php$ {
  20.     #    proxy_pass   http://127.0.0.1;
  21.     #}
  22.     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23.     #
  24.     location ~ \.php$ {
  25.         root           /usr/share/nginx/html;
  26.         fastcgi_pass   127.0.0.1:9000;
  27.         fastcgi_index  index.php;
  28.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  29.         include        fastcgi_params;
  30.     }
  31.     # deny access to .htaccess files, if Apache’s document root
  32.     # concurs with nginx’s one
  33.     #
  34.     #location ~ /\.ht {
  35.     #    deny  all;
  36.     #}
  37. }

因为默认情况下,php服务都是注释掉的,我们将其打开(去掉前面#即可),然后修改rootfastcgi_param这两个配置项。配置的root参数是我们网站文件放置的路径。

配置设置完成后,记得重新启动服务。

service nginx restart

通过上面的排查和配置,就可以解决nginx下php无法访问报错Primary script unknown的问题。

点赞

发表评论

: 北京pk10开奖结果 北京pk10开奖官网 北京赛车开奖历史 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 pk10开奖记录 pk10开奖结果 北京赛车开奖历史 北京赛车开奖记录 北京赛车开奖结果 北京pk10历史开奖记录 江苏快三开奖结果 江苏快三走势图表 江苏快三遗漏 江苏快三开奖结果走势 北京赛车pk10开奖记录 北京赛车pk10开奖结果 北京pk10历史开奖记录 秒速赛车开奖记录 秒速赛车历史记录 秒速赛车开奖结果 秒速赛车开奖直播 北京pk10历史开奖记录 北京赛车pk10开奖记录 北京赛车pk10开奖结果 pk10开奖记录 pk10开奖结果 北京赛车开奖历史 北京赛车开奖记录 北京赛车开奖结果 北京pk10历史开奖记录 江苏快三开奖结果 江苏快三走势图表 江苏快三遗漏 江苏快三开奖结果走势 北京赛车pk10开奖结果 北京赛车pk10开奖记录 北京pk10历史开奖记录 秒速赛车开奖结果 秒速赛车开奖记录 秒速赛车历史记录 秒速赛车开奖直播 秒速飞艇开奖记录 秒速飞艇历史记录 秒速飞艇开奖结果 秒速飞艇开奖直播 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 一肖中特免费公开资料 白小姐中特网 香港马会资料大全 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 pc蛋蛋预测 pc蛋蛋幸运28 北京赛车开奖结果 北京赛车开奖记录 pk10开奖结果 澳门百家乐 澳门百家乐网址 澳门百家乐官方网站 百家乐官网 澳门网上百家乐 一肖中特免费公开资料 白小姐中特网 香港马会资料大全 北京赛车开奖结果 北京赛车开奖记录 北京赛车历史记录 北京赛车开奖 幸运飞艇开奖记录 幸运飞艇历史记录 幸运飞艇开奖结果 幸运飞艇开奖直播