Nginx比apache要好,优点很多,随便去搜寻引擎找一下就能找到一大把资料,这不是我们讨论的重点,我们的重点是自己做一个运行组合!
     為何我不從網上下載一個別人已經封裝好的現成的版本呢?因為很多人封裝了之後就不在更新了,以後想要更新都不知道怎麼做,既然如此還不如自己好好研究一下自己封裝,將來要升級也不用求人,藝不壓身!

 我说下我搭配的这个组合的特点:

主要構成:
1.Php 5.3
2.Nginx 1.3.6
3.Memcache 2.2.6
4.Xdebug v2.2.1 注意事項:
1.不要隨意修改文件夾路徑,最好是放到d:/wnmp下,如果一定要修改路徑就必須要遵循下邊的規定
2.因為要用cgi模式運行php,所以php版本要選擇nts版
3.不要選擇太高版本的PHP,因為這會導致memcache很難安裝或找不到對應版本的dll
4.如果php用vc9的32位版本,那麼memcache也要對應的選擇該版本的dll
5.正常的環境搭建起來之後應該至少有3個進程,分別是:80端口的nginx;11211的memcache;9000的php-cgi
6.綁定多域名時複製一份/wnmp/_conf/?.conf,然後進行編輯,編輯完成后要重啟 Nginx 或reload一下也可以
7.添加網站時,資料夾應使用“/”不可以使用“\”,例如:D:/wnmp/nginx1.3/_www/ 如果要修改路徑:
1.首先修改setup.bat和stop.bat裡的路徑
2.修改php.ini裡的ext路徑
3.修改nginx.conf裡的路徑
4.修改_conf裡每個conf檔案里的路徑 用法:
1.启动 start.bat
2.停止 stop.bat
3.把PHP檔案放入 /wnmp/_www 下即可

通过上边的说明可以看出,这个组合我并没有把mysql加进来,也没有加入zend,反而是加入了xdebug,原因很简单:我需要这个组合做开发用.而我现在用的服务器是CentOS操作系统,用的数据库是Redis,所以这个组合没办法正式作为生产用,如果你希望能够搭建一个可以生产用的调试环境的话,那么我建议你拿掉xdebug,加入zend和eAcc另外下載軟件的時候也要下載那些用tar封裝的版本.数据库其实没必要整合进这个组合内,他可以单独来安装.

好了,接下来我详细的说一下这个组合的搭建思路,首先要准备软件,我们需要:

1.php-5.3.0-nts-Win32-VC9-x86.zip  下载地址是:http://windows.php.net/downloads/releases/archives/

注意:一定要下载nts版,不然无法运行在cgi模式下,另外我之所以没有选择更高的php版本,是因为高版本不够稳定,外加高版本很难找到memcache;xdebug之类的dll

2.Nginx 1.3.6 下载地址是:http://nginx.org/

注意:要下载zip压缩的版本,不要下载.bz或.tar的压缩包,这些都是linux的版本.

3.下载memcache和xdebug的dll文件 下载地址是:http://downloads.php.net/pierre/

注意:下载dll的时候一定要注意和php的版本对应不然永远安装不成功,例如:memcache要下载php_memcache-2.2.6-5.3-nts-vc9-x86.zip这个,而xdebug要下載php_xdebug-2.0.5-5.3-nts-Win32-VC9-x86.zip

4.下載RunHiddenConsole  下載地址是:http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip

注意:RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭

操作方法:
     1.在d:建立wnmp目錄,在wnmp下建立php5.3目錄,把下載得到的php壓縮包解壓進去.

2.找到php.ini-development修改為php.ini,然後打開修改一下內容:

把cgi.fix_pathinfo=1左側的分號去掉.

找到extension_dir把左側的分號去掉,并改為extension_dir = "d:/wnmp/php5.3/ext"

找到extension=???.dll,看你需要哪些組件,把左側的分號去掉

3.在wnmp下建立nginx1.3目錄,把nginx解壓進去,然後修改conf下的nginx.conf,修改後的內容為:

#user  nobody;
worker_processes 1;
events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on; #include的目的是爲了綁定多個域名到多個虛擬目錄
include D:/wnmp/_conf/*.conf;
}

4.在wnmp下分別建立_conf文件夾和_www文件夾,然後在_conf下建立a.com.conf,內容為:

server {
listen 80; #端口
server_name www.a.com; #绑定域名,以空格的方式添加多域名。
index index.html index.htm index.php; #默认文档,以空格的方式添加多默认文档。
root D:/wnmp/_www/_a; #网站文件地址,目录用“/”形式。否则容易出现错误。
autoindex on; #是否開啟目錄瀏覽,off为禁止。
charset utf-8; #编码 error_page 404 /404.html; #404错误代码指定文件
location = /404.html { #错误所显示文档
root D:/wnmp/_www; #错误文件目录
} error_page 500 502 503 504 /50x.html; #50x错误代码指定文件
location = /50x.html { #错误所显示文档
root D:/wnmp/_www; #错误文件目录
} location ~ \.php$ {
root D:/wnmp/_www/_a;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ~ /\.ht {
deny all;
}
}

再建立b.com.conf,內容為:

server {
listen 80; #端口
server_name www.b.com; #绑定域名,以空格的方式添加多域名。
index index.html index.htm index.php; #默认文档,以空格的方式添加多默认文档。
root D:/wnmp/_www/_b; #网站文件地址,目录用“/”形式。否则容易出现错误。
autoindex on; #是否開啟目錄瀏覽,off为禁止。
charset utf-8; #编码 error_page 404 /404.html; #404错误代码指定文件
location = /404.html { #错误所显示文档
root D:/wnmp/_www; #错误文件目录
} error_page 500 502 503 504 /50x.html; #50x错误代码指定文件
location = /50x.html { #错误所显示文档
root D:/wnmp/_www; #错误文件目录
} location ~ \.php$ {
root D:/wnmp/_www/_b;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ~ /\.ht {
deny all;
}
}

通過上邊的操作,實際上我們已經在D:/wnmp/_www下建立了兩個網站,他們分別是:

D:/wnmp/_www/_a  綁定的域名是 www.a.com

D:/wnmp/_www/_b  綁定的域名是 www.b.com

nginx+php的环境就初步配置好了,我們可以用命令啟動一下試試看:

d:/wnmp/php5.3/php-cgi.exe -b 127.0.0.1:9000 -c d:/wnmp/php5.3/php.ini

這樣就可以啟動了,打開任務管理器看一下進程,或者用netstat看一下端口佔用,如果正常的話應該9000端口被佔用了

nginx也可以手工啟動起來,用下邊的命令試試看:

D:/wnmp/nginx1.3/nginx.exe -p D:/wnmp/nginx1.3

啟動之後你會發現80端口被佔用了.

如果上邊的兩部份都成功了的話,那麼你就已經成功了一大半.

接下來就是需要配置memcache和xdebug了,前邊我已經說過了,我安裝這兩部份是爲了開發方便所以我要用debug的東西和緩存的部份,如果你是想架設正式服務器的話,那麼就在此時安裝zend;memcache和eAcc.但是要說明一點:zend和xdebug是不能共存的,他們會衝突,原因就是同行競爭了!!!

現在我們來安裝memcache和xdebug:

把我們剛才下載的dll丟進/wnmp/php5.3/ext文件夾下,然後修改php.ini用extension=???.dll載入就行了.

xdebug要用下邊的方式來載入:

;载入Xdebug
[Xdebug]
zend_extension="D:/wnmp/PHP5.3/ext/php_xdebug-2.2.1-5.3-vc9-nts.dll"
;是否開啟調試內容
xdebug.profiler_enable=on
;是否開啟自動跟蹤
xdebug.auto_trace = On
;是否开启异常跟踪
xdebug.show_exception_trace = On
;是否收集变量
xdebug.collect_vars = On
;是否收集返回值
xdebug.collect_return = On
;是否收集参数
xdebug.collect_params = On
;跟蹤輸出路徑
xdebug.trace_output_dir="D:/wnmp/tmp/xdebug"
;調試輸出路徑
xdebug.profiler_output_dir="D:/wnmp/tmp/xdebug"

注意:我們用的是nts版,所以要用zend_extension的方式來載入,別搞錯了.

最後重啟一下nginx就大功告成了.爲了啟動和關閉方便,我寫了一個批處理在執行開啟和停止的動作,代碼如下:

rem 這是start.bat
@echo off
color 06
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5 call stop.bat REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000 echo Starting Memcache 2.2.6 ...
"D:/wnmp/memcache/memcached.exe" -d install
"D:/wnmp/memcache/memcached.exe" -d start echo Starting php-5.3.0-nts-Win32-VC9-x86 FastCGI ...
RunHiddenConsole D:/wnmp/php5.3/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5.3/php.ini echo Starting Nginx 1.3.6 ...
RunHiddenConsole D:/wnmp/nginx1.3/nginx.exe -p D:/wnmp/nginx1.3 pause
rem 這是stop.bat
@echo off
echo Stopping Nginx...
taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul echo Stopping Memcache ...
"D:/wnmp/memcache/memcached.exe" -d stop
cls

最後我把我封裝的Nginx+memcache+xdebug+php运行环境提供給大家下載吧:

下載地址是:http://download.csdn.net/detail/sibang/4805911

http://www.cnblogs.com/see7di/archive/2012/11/24/2786153.html

自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版的更多相关文章

  1. linux下搭建nginx+php(FastCGI)+mysql运行环境

    一.安装环境 1.CentOS5.5 2.php5.4 3.MySQL5.5.19 二.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, 1 ...

  2. 模拟搭建Web项目的真实运行环境(一)

    序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...

  3. 【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境

    查看linux内核版本 uname -a 打印结果 python@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed ...

  4. 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!

    写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...

  5. centos7最小版本安装nginx+tomcat+java+mysql运行环境

    最近项目从windows搬到linux,由于项目组成员有限并且有其它紧急的任务需要处理,因而这个任务就落到我的头上了.下面记录下centos最小版本安装nginx+tomcat+mysql+java的 ...

  6. 通过Jetty搭建一个简单的Servlet运行环境

    最近在做一些简单的Servlet开发的时候,感觉每次调试的时候都要发布到tomcat上很麻烦,把程序共享给同事也很麻烦,需要帮他设置本地的tomcat环境. 在网上找了找其他的Servlet运行环境, ...

  7. python 的 virtualenv 环境搭建及 sublime 手动创建运行环境

    一.安装 virtual env sudo pip install virtualenv二.进入一个空白的目录初始化 virtual env 的环境cd ~/workspace/python/virt ...

  8. Java运行环境绿色部署配置

    这个Java的绿色安装配置,还有从未自己的使用电脑说起来. 最近电脑运行慢,很长时间没有清理及维护了,而且有可能中毒或木马了,所以就把系统进行了Ghost还原了,所以原来安装的jdk环境也无法使用了, ...

  9. Windows 下 Nginx + PHP + Xdebug + PHPStorm 调试环境配置

    前期条件:安装好 Nginx.PHP.PHPStorm,使得可以正常访问 一.为 PHP 安装 Xdebug 到 Xdebug 的官网(http://xdebug.org/download.php)下 ...

随机推荐

  1. php使用mysql扩展库链接mysql数据库(查询)

    php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...

  2. 高效率JavaScript编写技巧

    最近在编写一个JavaScript框架,发现有很多细节注意得不够,担心长时间积累会导致框架实际应用的时候出现严重的效率问题.于是开始关注JavaScript提高效率的一些技巧,在这里分享给大家. 1. ...

  3. Hadoop MapReduce链式实践--ChainReducer

    版本号:CDH5.0.0,HDFS:2.3.0,Mapreduce:2.3.0,Yarn:2.3.0. 场景描写叙述:求一组数据中依照不同类别的最大值,比方,例如以下的数据: data1: A,10 ...

  4. 【原创】ASP.NET Web开发,实现打印Log日志,步骤详解

    添加Log需要四步: 一.引用log4net.dll,详见附件:http://pan.baidu.com/s/1c0hab2g 二.项目根目录下,添加 log4net.xml <?xml ver ...

  5. 判断两个XML文件结构与内容是否相同

    1. 引入 目前公司的这款软件导入导出数据库信息的方法是:组织数据的内容和结构  利用MS com的sax解析 储存数据为XML格式 优点是可以选择部分导出 缺点是速度慢文件导出的文件庞大,若客户出现 ...

  6. Ubuntu 12.04环境下配置Postgresql和phppgadmin

    Ubuntu 12.04环境下配置Postgresql 9.1 和phppgadmin 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianb ...

  7. jquery左右自适应伸缩插件

    简单css布局 body { margin: 0 auto; padding: 0 auto; } .showpannal { position:absolute; left: 200px; top: ...

  8. Android 开发笔记“关闭默认键盘”

    1.打开AndroidManifest.xml文件 2.在对应的activity中增加配置信息 android:windowSoftInputMode="stateHidden"

  9. RAW模板命名规范

    国有国法,家有家规,任何一种开发都要有自己规范,RAW模板也一样,这个文章来介绍一下RAW模板命名的规范. 格式: 开发者或组织_描述词_名称 开发者或组织:如know或自己的组织名 描述词:c-&g ...

  10. Unit Tests Tool - <What is “Mock You”> The introduction to moq #Reprinted#

    From: http://www.cnblogs.com/wJiang/archive/2010/02/21/1670632.html Moq即Mock You Framework,故名思意是一个类似 ...