目前 ngnix for windows 主要有两种:
1、官方出的 ,目前最新版本 0.7.58 ,下载地址 ,具体的安装方法参见 ,很简单的
2、三方出的 ,目前最新版本 0.7.50 ,安装方法见下文
这两种的区别我理解是这样的:
其一、官方出的可以放到任意目录,而三方出的只能安装在 c:\ngnix,这个难道是编译的问题,具体啥原因未知
其二、官方出的可以动态重新加载配置文件,而不需要停止www服务,而三方的必须要停止www服务后再开启,这个应该是三方的版本问题,这个功能是0.7.53以后才加的好像
其三、官方出的在 root alias 后可以直接跟路径,如 d:\www\ 或 ..\www 这样的,而三方的必须要写为 /cygdrive/e/www 这样,这点官方是做的很好的,因为三方是集成的cygwin环境
就以上几点区别,不过个人觉得哪个都一样,在这里说明这些区别就是为了让大家清楚,不要你用的是官方的而看了下面的这篇文章后说我的是错误的
好了,下面重点说三方的,如你用官方的,注意上面提到的区别就可以了,官方用起来没有这么多问题
参考自:
测试php的网站目录 E:\httpd\wwwroot ,请自行先创建好
准备软件:
ngnix-0.7.50
php-5.2.9
步骤如下:
1、执行下载下来的 nginx-0.7.50-win32-setup.exe 安装ngnix,是安装到 C:\nginx 目录的,好像win下是建议安装到这的,接下来执行 C:\nginx\conf\start-nginx.bat ,如果启动成功,访问 会看到一个默认网页的,如没有看到,请确认你的80口未被占用
2、解压下载下来的 php-5.2.9-2-Win32.zip 到 E:\httpd\php-5.2.9-2-Win32
3、启动fastcgi进程,执行下面这个命令
E:\httpd\php-5.2.9-2-Win32\php-cgi.exe -b 127.0.0.1:512
但是这个cmd窗口不会关闭的,想要隐藏窗口,用vbs等都可以实现,我是这样做的,用一个小程序来隐藏的,我在E:\httpd\php-5.2.9-2-Win32目录下建了个批处理,以后直接点击这个就可以了,内容如下:
::start_phpcgi.cmd
::cmdow.exe请自行到下载
cmdow.exe @ /hid
php-cgi.exe -b 127.0.0.1:512
如需制造多个php-cgi进程监听同样端口则多次运行这个批处理就可以了,当然也可以用php-cgi的参数来实现
4、配置ngnix测试支持php
修改 C:\nginx\conf\nginx.conf ,在 http {} 中增加下面这段使增加一个虚拟主机,修改完后重新启动一下ngnix
server {
listen 192.168.9.222:8080;
server_name localhost;
location / {
root /cygdrive/e/httpd/wwwroot;
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:512;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME e:/httpd/wwwroot$fastcgi_script_name;
include fastcgi_params;
}
}
5、E:\httpd\wwwroot 目录下新建php测试文件 index.php ,内容如下:
echo phpinfo()
?>
6、浏览器中输入 :8080/index.php 测试