最近在windows下面尝试着用nginx去架设一个PHP的环境,因为是和APACEH不一样了,所以在网上参照了一下。
nginx的配置倒是非常简单,在官网下载了nginx-0.8.24的win版本,直接扔在本机上面,启动了一下。然后输入http://127.0.0.1//,便显示出欢迎的信息了。接下来是搭配php的环境。首先是更改php.ini,因为php.ini我是放在C:\windows目录下面的。
是说要将cgi.fix_pathinfo = 1开启,否则PHP 将无法找到需要处理的 php 文件。照做。因为php是需要cgi方式运行的,要额外的开一个cgi的进程去监听某个端口。然后nginx把php文件传过去由phpcgi进行解析。所以要在dos下面运行一下
C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini因为php.ini已经放在windows目录下面了,所以红色的地方我就去掉了。然后进程一直开启
接下来是配置nginx。
在nginx目录 下面的conf中更改nginx.conf        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  D:/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
将这段话解除注释。让其能对PHP文件进行fastcgi的解析然后重新启动nginx结果杯具了
也不知道具体是错在哪一步上面,或者说怎么去调试。。
已经好几天了,不解决在心里面又是一块梗。还望有经验的高人帮忙一下啊T_T

解决方案 »

  1.   

    在nginx里的logs没有报错的LOG。
    我在想是不是问题出在php-cgi的解析这里,不过这块也看不到有相关的LOG。
    T_T
      

  2.   

    你不用直接访问9000端口的, 这一步由nginx 代理完成的
      

  3.   

    直接访问http://127.0.0.1,不用加端口号。觉得是你的PHP配的有问题,配PHP时需要拷几个文件到system32下,你拷了没有?
      

  4.   

    nginx也要拷?我笔记本上拷过去的,在APACHE的环境下面没问题。
    用的操作系统是WIN7。
    就是换成NGINX就傻逼了。现在就是不知道php-cgi.exe怎么样去调试。
    苦恼啊……
      

  5.   

    刚才在笔记本上试了一下,原来是配置里面的路径写错了。
    应该是
    fastcgi_param  SCRIPT_FILENAME  D:/nginx-0.8.24/html$fastcgi_script_name;我写成了
    fastcgi_param  SCRIPT_FILENAME  D:/nginx/html$fastcgi_script_name;想想我笔记本和台机惟一的区别就是system32下台机没有拷相应的DLL文件进去。
    回家我用台机试试看。是这个原因就好了。