Window+Nginx+MogoDB+php7(WNMP环境搭建)
一、准备工作:
D盘建文件目录:
网站根目录:d:wnmp/www/
nginx安装目录: d:wnmp/nginx/
php安装目录:d:wnmp/php/
MongoDB安装目录d:wnmp/MongoDB/
下载nginx:http://nginx.org/download/nginx-1.9.12.zip
下载php7.0.0alpha1:http://windows.php.net/qa/
下载MongoDB:mongodb-win32-x86_64-2008plus-ssl-3.0.2-signed.msi
分别解压到对应的安装目录。
二、配置PHP7
进入php安装目录,然后复制一份php.ini-development 重命名为php.ini。
编辑php.ini然后搜索;cgi.fix_pathinfo=1 将前面的分号去掉,保存!
启动php-cgi.exe,如果弹出丢失dll文件,干脆下载安装Visual C++,
配置PHP FastCGI server
进入nginx安装目录,修改conf目录下面的nginx.conf ,找到这个配置块location ~ \.php$ 将前面的#注释去掉修改如下
location ~ \.php$ {
root D:\wnmp\www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
意思是,所有以 php 为后缀的文件都交给127.0.0.1:9000来处理,而这里的 IP 地址和端口就是 FastCGI 进程监听的 IP 地址和端口。
然后搜索 location / 修改下面配置内容(主要是修改网站根目录)
location / {
root D:\wnmp\www;
index index.html index.htm index.php;
}
开启错误日志,找到
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
把前面的#去掉即可。
保存配置文件,这样启动php和nginx就可以正常使用了,你可以新建一个php探针然后访问localhost看一下了。
测试:写一个测试// test.php
<?php pathinfo(); ?>
打浏览器中打开localhost:8099/test.php
三、安装MogoDB
安装MogoDB到开头创建的目录
创建文件夹d:\wnmp\mongodb\data\db、d:\wnmp\mongodb\data\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即d:\wnmp\mongodb\data\log\MongoDB.log
运行cmd.exe进入dos命令界面,执行下列命令,启动MongoDB
> cd d:\wnmp\mongodb\bin
> d:\wnmp\mongodb\bin>mongod -dbpath "d:\mongodb\data\db"
看到如图信息则说明启动成功,默认MongoDB监听的端口是27017,mysql的是3306
四、技巧
当你启动php之后你会发现cmd小窗口不能自动关掉了,如果手动关掉php就挂掉了,接下来解决这个问题
首先你需要下载一个小文件RunHiddenConsole 然后复制到nginx目录,新建两个bat批处理文件,start.bat和stop.bat
start.bat:
@echo off
REM set PHP_FCGI_CHILDREN=5
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
@echo Starting mongodb…
@RunHiddenConsole D:/wnmp/mongodb/data/db -p @D:/wnmp/mongodb/bin
stop.bat:
@echo off
@echo Stopping mongodb…
@taskkill kill 18288
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM php-cgi.exe > nul
exit
保存两个文件,点击start.bat启动nginx和php!
这里已经为大家准备好了[点击下载](http://note.youdao.com/share/?id=424ff7bef1386459171990aff1b3bbd1&type=note)使用即可。
其他启动参考:
start_nginx.bat
@echo off
set NGINX_HOME=C:\Servers\nginx-1.9.12
start /D %NGINX_HOME%\ %NGINX_HOME%\nginx.exe
pause
stop_nginx.bat
@echo off
set NGINX_HOME=C:\Servers\nginx-1.9.12
cd %NGINX_HOME%
nginx.exe -s quit
pause