Nginx 下载: http://nginx.org/en/download.html
这里博主选择的稳定版,需要什么版本自己按需下载啊

PHP 下载: http://php.net/downloads.php
同上,选择自己需要的版本哦,博主的电脑是 64 位的,Nginx 需要选择非线程安全,所以下的第一个

MySQL 下载: https://dev.mysql.com/downloads/mysql/
这里博主选择的最新版,如果想下载其他版本,可以点击页面中的 Go to Download Page,有更多的选择哦


下面是解压后的文件

下一步,双击 nginx.exe ,即可启动 nginx,打开浏览器,输入 localhost,看到下面的页面就代表安装成功了(如果没有启动成功,可能是因为端口的问题,打开 E:\wnmp\nginx\conf\nginx.conf ,把里面的 listen 后的端口改一下即可)

把我们下载的 php 压缩包解压到 E:\wnmp\php 里面,将 php.ini-development 文件复制一份改名为 php.ini ,指定 php 的 ext 路径:找到
;extension_dir = "./ext"
去掉前面的分号,并把里面的路径改为我们安装 php 文件夹中的 ext 目录,比如博主的 extension_dir = "E:\wnmp\php\ext"
支持 Nginx 找到
;cgi.fix_pathinfo=1
去掉前面的分号
支持 MySQL 找到
;extension = php_mysql.dll
;extension = php_mysqli.dll
去掉前面的分号
启动 php 服务:在 E:\wnmp\php 文件下以管理员身份打开 cmd 命令行,运行: php-cgi.exe -b 127.0.0.1:9000 -c E:/wnmp/php/php.ini (根据自己配置的端口和路径更改哦)
检测是否安装成功,管理员身份打开 cmd 下在 E:\wnmp\php 下面执行 php -v 看到版本号即代表安装成功,如下图

打开文件 E:\wnmp\nginx\conf\nginx.conf (最好先做一下备份)

建议更改我们的项目目录为绝对路径(博主在 E:\wnmp\ 下新建了一个仓库 www),如下
location / {
root E:/wnmp/www/localhost;
index index.html index.htm index.php;
}
去掉注释内容支持访问 php 项目
location ~ \.php$ {
root E:/wnmp/www/localhost;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
变量$document_root 指的是我们定义的 root 路径
在我们配置的目录下新建一个 E:\wnmp\www\localhost\phpinfo.php 文件,里面写上如下代码(改完配置文件 nginx.conf 后记得重启 nginx 哦)
<?php
phpinfo();
浏览器中输入 localhost/phpinfo.php ,看到下面内容即代表配置成功

每次启动 Nginx 和 PHP 服务都去命令行手动敲真的是太累了,所以我们利用 Windows 的 bat 文件写两个脚本(启动和关闭),双击操作,简直爽的不行
下载文件 RunHiddenConsole.exe : https://pan.baidu.com/s/1E6nnH0NL00wRnyij2RzA6Q 提取码:b490
编写启动服务文件: start.bat
REM REM 是 bat 文件的注释类似于 php 的//
REM 设置不输出命令
@ECHO off
REM 设置 Nginx 和 php-cgi 的目录
SET php_home=E:\wnmp\php\
SET nginx_home=E:\wnmp\nginx\
REM 输出状态
ECHO Starting PHP FastCGI...
REM 启动 php-cgi -b 端口 -c php.ini 位置
REM %php_home%为获取上面 set 的 php_home 的值
RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
REM 输出状态
ECHO Starting nginx...
REM 启动 Nginx -p Nginx 的根目录
RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%
编写关闭服务文件: stop.bat
@ECHO off
ECHO Stopping nginx...
REM 结束进程 /F 强制终止 /IM 指定的进程
TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
EXIT
三个文件放到同一目录,文件里面的路径也要配置成自己的文件路径,比如博主的这样的

如果一切顺利,接下来我们就可以通过双击 start.bat 和 stop.bat 文件来同时开启关闭 Nginx 和 PHP 服务了,如丝质般顺滑。
解压我们下载好的 MySQL 安装包到 E:\wnmp\mysql 里面,在这里新建一个文件 my.ini ,再新建一个文件夹 data(如果有就不需要新建了)

编辑 my.ini,文件内容如下
[mysqld]
# 设置 3306 端口
port=3306
# 设置 mysql 的安装目录
basedir=E:\wnmp\mysql
# 设置 mysql 数据库的数据的存放目录
datadir=E:\wnmp\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为 UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8
[client]
# 设置 mysql 客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
以管理员身份打开 cmd,转到 E:\wnmp\mysql\bin ,初始化命令(会生成一个临时密码,注意把临时密码记住)
mysqld --initialize --user=mysql --console
重新设置密码: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; 再及时生效一下: flush privileges;
退出: exit ,再重启一下数据库: net stop mysql; net start mysql;
再管理员身份打开一个 cmd 窗口,重新登录一下成功,至此,我们的 wnmp 环境就部署好了!

