WNMP是Web开发集成环境,即Windows+Nginx+MySQL+PHP。今天我们来一步一步配置一个WNMP开发环境。
建立目录
D:\Web |
Nginx
Nginx是一个高性能HTTP和反向代理服务器,能够高效率处理高并发HTTP请求。相对于Apache来说,Nginx更加稳定,性能更好,配置简单,占用资源较低,是Apache的不错替代品。 Nginx非常擅长处理静态文件,如html、jpg、css、js等内容。当用户发送请求后,Nginx从文件系统读取文件并发送给用户。对于需要解析的动态资源,如php、asp、jsp脚本则无能为力,但Nginx可以将这些请求反向代理到其他能够处理这些动态资源的服务器上,从而实现动态请求响应。
关于Nginx市场份额数据猛戳 这里
下载Nginx :我们从Nginx官网来获取 Nginx for Windows版本 :http://nginx.org/
部署Nginx:将下载到的压缩包内容解压到nginx目录
编写控制脚本:在bin目录下新建 nginx_start.bat 和 nginx_stop.bat脚本来控制Nginx启动和关闭
nginx_start.bat 脚本
@echo off |
运行nginx_start.bat启动nginx服务器,在浏览器地址栏中输入localhost,即可看到 Welcome to nginx! 此时Nginx服务器已经成功启动。接下来我们需要进行一些配置让nginx更好的工作。

Nginx的配置文件目录在 bin/nginx/conf/nginx.conf ,该文件可包含很多站点配置。为了方便多站点维护,我们需要为每个站点建立单独的配置文件,并在 nginx.conf 中把这些单独的配置包含进来:
// nginx.conf 精简配置示例 |
在 conf 目录下建立 conf.d 目录存放各个站点单独的配置,如 www.ijustplay.cn 配置文件我们可以保存在 ijustplay.conf 文件中:
server { |
在 ijustplay.conf中我们已经加入了php 脚本的支持,但由于 php-cgi 在 windows 下缺少有效的进程管理程序,因此如果有并发请求过来可能会导致 nginx 找不到空闲的 php-cgi 执行请求,从而出现 504 Gateway timeout 错误。因此,我们可以预先启动一定数量 php-cgi 进程来处理并发请求。在conf目录下新建 php_processes.conf 文件:
upstream php_processes { |
将该文件包含在Nginx主配置文件中:修改 nginx.conf 在 http{…} 中加入 include php_processes.conf;
PHP
在PHP官方网站下载PHP for Windows:http://windows.php.net/download 版本选择及运行库参考下载页面左侧栏,在此我们选择 Non Thread Safe 版本
部署:将下载到的压缩包解压到 bin/php 目录
编写控制脚本: 在bin目录下新建 php_start.bat 和 php_stop.bat脚本来控制 php-cgi 启动和关闭
php_start.bat
@echo off |
MySQL
下载MySQL:https://dev.mysql.com/downloads/windows/
部署:将下载到的压缩包解压到 bin/mysql 目录
编写控制脚本: 在bin目录下新建 mysql_start.bat 和 mysql_stop.bat 脚本来控制 mysql 启动和关闭
mysql_start.bat |
相关阅读
- 南非蚂蚁: 实战Nginx与PHP(FastCGI)的安装、配置与优化
- VERDANA EXPERIMENTS: Windows 下 Nginx + PHP5 的安装与配置