先是安装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。双击运行就可以了。