1、首先需要准备的应用程序包。

nginx:http://nginx.org/en/download.html 我下载的是nginx-1.12.2.zip稳定版本
php:http://php.net/downloads.php 我下载的是php-5.6.33-nts-Win32-VC11-x64稳定版本(nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包)
RunHiddenConsole:RunHiddenConsole.zip(用于cmd 非阻塞运行进程) 下载

2、安装与配置。

1)php的安装与配置。
直接解压下载好的php包,到D盘wnmp目录(D:wnmp),这里把解压出来的文件夹重命名成php5。进入文件夹修改php.ini-recommended文件为php.ini,并用Editplus或者Notepad++打开来。
找到扩展目录(去掉注释)
;extension_dir = "ext" ,删除前面的分号并修改为:extension_dir = "D:/wnmp/php5/ext"
mysql 扩展(去掉注释)
;extension=php_mysql.dll
;extension=php_mysqli.dll
前面指定了php的ext路径后,只要把需要的扩展包前面所对应的“;”去掉就可以了。这里打开php_mysql.dll和php_mysqli.dll,让php支持mysql。
可以根据需要启用扩展包,比如extension=php_bz2.dll ;启用bz库用于数据压缩extension=php_gd2.dll ;启用图像库。
到这里,php已经可以支持mysql了。
接下来我们来配置php,让php能够与nginx结合。找到(去掉注释)
;cgi.fix_pathinfo=1 
这一步非常重要,这里是php的CGI的设置。

2)nginx的安装与配置。
把下载好的nginx-1.12.2.zip的包同样解压到D盘的wnmp目录下,并重命名为nginx。接下来,我们来配置nginx,让它能够和php协同工作。进入nginx的conf目录D:\wnmp\nginx\conf\nginx.conf,打开nginx的配置文件nginx.conf。
(1)
location / {
        root   html;
        index  index.html index.htm;
}
改为:
location / {
        root   D:/wnmp/nginx/html;
        index  index.html index.htm index.php;
}
(2)
#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:/wnmp/nginx/html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}

测试nginx是否成功支持php:
这里和apache不同,需要同时开启php和nginx。
命令行开启php:d:/wnmp/php5>php-cgi.exe -b 127.0.0.1:9000
命令行开启nginx:d:/wnmp/nginx> start nginx

在D:/wnmp/nginx/html下新建一个phpinfo.php,加入如下内容后保存

打开浏览器访问http://localhost/phpinfo.php
能看到php信息表示安装成功。

3、安装mysql

这个步骤根其它环境无特殊不同,如果安装过可以直接使用,未安装的可以根据mysql安装向导下一步即可。

解压版mysql数据库安装可参考:http://www.it689.com/article/339

4、nginx和php的快速启动和关闭
新建两个bat批处理文件(本站下载RunHiddenConsole压缩包里已经有可直接使用),内容如下:

start_nginx.bat:

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI…
RunHiddenConsole D:/wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php/php.ini
echo Starting nginx…
RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx

stop_nginx.bat:

@echo off
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM php-cgi.exe > nul
exit

将这两个文件保存在和RunHiddenConsole文件相同的目录下,以后点击start_nginx.bat文件即可同时开启php与nginx,点击stop_nginx.bat则将它们同时关闭。

每次重启后,都得手动去开启nginx服务,觉得很是不爽。如使其开机自动启动就好了。
供大家参考:http://www.it689.com/article/338

Copyright © 2014-2018 it689.com (京ICP备12032795号-2) 版权所有 Power by IT689