Windows下搭建Nginx+PHP(FastCGI)平台

给公司写的门户一期方案,服务器采用Linux+Nginx+PHP(FastCGI)+MYSQL搭建,被采用了。
而本地没有现成的环境,服务器也需要好几天才能配置好,就需要本地先搭起一个平台来测试。
开发环境是Windows,那就在Windows下搭建吧。
 
总体而言,Windows的搭建非常简单。
 
首先是安装PHP。
我本地原来安装过了PHP5.2.11了。没安装过的也类似,官方网站下载一个Windows的二进制包就行了。
直接运行PHP5.2.11安装文件,然后选择修改,下一步 ,选择Other CGI,出现选择安装的扩展,
我选择了GD2、Mysql、Mysqli、PDO、PDO_MYSQL。下一步,安装,安装完成。
 
然后以FastCGI方式运行PHP
由于php自带php-cgi.exe,在命令行下运行就是了。
php-cgi.exe -b 127.0.0.1:9000
弹出一个命令行窗口,注意不要关(下面在说解决办法) 。
 
接着安装Nginx
官方网站上有现成的Windows安装包,直接下来就是了
Nginx 的中文维基 http://wiki.nginx.org/NginxChs
稳定安全方面考虑采用的版本为当前稳定本Nginx/windows 0.7.63 (更新记录) (2009年10月26日)
下载下来是一个压缩包,直接解压拷贝到某个目录就行了,
我安装在D:\nginx-0.7.63
双击nginx.exe,就运行了,不需要安装。
我是安装在D:\nginx-0.7.63
然后浏览器里输入http://localhost/ 显示
 
Welcome to nginx!
 
表示Nginx正常运行了。
 
配置Nginx
我的站点跟目录是D:/www目录。
配置不是很复杂就不做注释了
D:\nginx-0.7.63\conf下的nginx.conf,记事本打开。
找到
#pid        logs/nginx.pid;
去掉前面的注释
找到
        location / {
            root   html;
            index  index.html index.htm;
        }
 
修改成
        location / {
            root   D:/www;
            index  index.html index.htm index.php;
        } 
找到
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}
 
前面的注释去掉,修改成
        location ~ \.php$ {
            root           D:/wwwroot;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  D:/wwwroot/$fastcgi_script_name;
            include        fastcgi_params;
        }
 
重启Nginx
由于修改了Nginx的配置文件,需要重新加载配置文件。
nginx -s reload
nginx的另外几个命令参数
nginx -s stop//暂停
nginx -s quit//退出nginx
这上面的几个命令需要 #pid        logs/nginx.pid; 前的注释去掉,且logs/nginx.pid文件中保存了当前的nginx进程的pid才有效。
其他几个小技巧
用cmd命令行强制结束进程命令
taskkill /F /IM nginx.exe > nul  (有时候结束nginx,这个命令更管用)
就可以关闭所有的nginx进程了。
关闭fastcgi的命令类似
taskkill /F /IM php-cgi.exe > nul
在网站根目录,放一个phpinfo文件,不出错就可以看到当前网站的配置信息了。
 
解决fastcgi方式运行php时的cmd窗口问题。
方法很简单用vbs脚本来启动就能解决。这个方法比网上借助第三方小软件(例如RunHiddenConsole.exe)简单的多
具体代码
 
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "php-cgi.exe -b 127.0.0.1:9000",0
 
保存你到php目录,命名成start_fastcgi.vbs。双击运行就可以了。
原文地址:https://www.cnblogs.com/chenqianpeng/p/2735891.html