转载

nginx+php配置在centos 6

yum install php   yum install php-fpm yum instal nginx  vi /etc/nginx/conf.d/default.conf location ~ /.php$ {  root   html;     fastcgi_pass   127.0.0.1:9000;     fastcgi_index  index.php;     #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;     include    fastcgi_params; } service php-fpm start service nginx start  

特别注意fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 这行指定是php路径。如果按照默认设置,php文件需要放在/scripts下 参考:

http://lovelace.blog.51cto.com/1028430/1314565

这个问题花了近2个小时。重点要记的是定位问题的过程, 首先nginx服务器起来以后,可以访问,写了个test.php,不会被解释,会被下载。 启动php-fpm,访问test.php或者任意.php会提示“File not found.” 说明nginx的配置起作用了。但是有问题。查看 vi /etc/php-fpm.conf 找到log位置 error_log = /var/log/php-fpm/error.log 查看log发现并无异常。 再查看nginx的log: tail -f /var/log/nginx/error.log 发现"FastCGI sent in stderr: "Primary script unknown"" ,猜测是脚本没找到,但是这时不用猜了,找到这样标志性的东西就可以谷歌了。

所以解决问题的基本步骤概括如下:

首先在/etc/程序名 位置找到配置文件, 在配置文件中找到log, 在log中找到可疑的错误提示, 谷歌!  
正文到此结束
Loading...