php请求nginx服务器返回403

在centos的nginx的conf/include里配置了一个虚拟主机,没有配置虚拟域名,默认用了用主机名做域名,将端口换成自定义端口,然而总是返回403。

在网上查说一般有两种原因,一是用户权限问题,我检查了,都是同一个用户组和用户,所以应该不是权限问题;

二是主页问题,发现默认主页index.html是能访问的,应该不是这个问题,当把php页面换成html且把fastcgi_*之类的配置注释掉之后,发现是可以访问的,因此并不是主页设置的问题;但是curl得到的.php页面是源代码,并不是执行之后的结果,因此应该是php解析的问题。

后来发现原来nginx在解析php时,需要用到fast-cgi,这个东西需要启动php-fpm这个进程才能实现相应的服务。

执行 ps aux | grep php-fpm 命令,

发现并没有相应进程在运行,所以执行

/usr/local/php5/sbin/php-fpm 命令之后,把注释掉的fastcgi_*的参数改回来后记得执行/usr/local/nginx/nwebctl reload 命令重载一次nginx的配置,就能解析php网页了,并且返回的不是403了。