参考文章:
http://www.v2ex.com/t/169771
http://stackoverflow.com/questions/22090350/nginx-unable-to-open-primary-script
0.php5-fpm的监听路径端口和nginx监听的路径端口不匹配问题。
。。。调整后www.conf var/run/php5-fpm.sock
sites-enabled/default unix:var/run/php5-fpm.sock
1.fastcgi_param设置问题。不能跟绝对路径即/var/www/html$fastcgi_script_name;
改成绝对路径后会报错:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,.
要用$docuent_root$fastcgi_script_name;
修改后报错:Unable to open primary script: /var/www/html/index.php(no such file or directory)
2.权限问题。网站目录及父目录权限必须是755,文件权限是644,用户的权限
1. 用htop或者top或者ps来检查nginx和php-fpm的运行用户是否正确。 ps -u www-data
2. 查看/usr/share/nginx/xxx目录以及里面index.php文件的权限。 目录:755 文件:644
3. 试着su到www-data,访问你的程序index.php看看能否读取。
/etc/php5/fpm/pool.d/www.conf
listen.owner=www-data
listen.group=www-data
listen.mode=0660
fpm监听的用户组及权限
将其改为0666
修改后报错:FastCGI sent in stderr unable to open primary script:/var/www/html/index.php(sucess)