location ~ \.php$ {
fastcgi_pass 0.0.0.0:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
break;
}
location / {
rewrite ^/ /index.php break;
}
这样设置 访问php页面会直接下载php文件
但是不重定向
location / {
index index.php
}
就能够正常执行php文件,头都大了,不知道为什么。
应该是把break改成last就好了
你的这一段意思为,将所有的uri转发请求重写为index.php 然后break,新的重写后的uri(在这个列子被重写为index.php)不会再去匹配下面这个location,所以你的php文件没有传递给php-fpm去解析。但是换成last以后,新的uri会重新匹配符合条件的location,所以index.php被传递给php-fpm解析执行了。
如果不明白,毛遂自荐自己的一篇博客。http://blog.csdn.net/fantexi1...
fastcgi_pass 0.0.0.0:9000; 0.0.0.0是什么鬼
如果是新手的话, 不建议自己配置, 尽量使用一键配置比如:https://lnmp.org的lnmp一键安装
我本地使用的配置。
php-fpm 重启否?
参考一下我的试一试
建议查看nginx和php的日志来发现问题,
我的conf是这样的:
另外,你的php-fpm进程正常么?
$ ps aux|grep 'php-fpm'
21274 user php-fpm: master process (/usr/local/php5.6/etc/php-fpm.conf)
21275 user php-fpm: pool www
21276 user php-fpm: pool www