自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
? ? Nginx比apache要好,優(yōu)點(diǎn)很多,隨便去搜尋引擎找一下就能找到一大把資料,這不是我們討論的重點(diǎn),我們的重點(diǎn)是自己做一個(gè)運(yùn)行組合!
???? 為何我不從網(wǎng)上下載一個(gè)別人已經(jīng)封裝好的現(xiàn)成的版本呢?因?yàn)楹芏嗳朔庋b了之後就不在更新了,以後想要更新都不知道怎麼做,既然如此還不如自己好好研究一下自己封裝,將來(lái)要升級(jí)也不用求人,藝不壓身!
?????我說(shuō)下我搭配的這個(gè)組合的特點(diǎn):
主要構(gòu)成:1.Php 5.32.Nginx 1.3.63.Memcache 2.2.6 4.Xdebug v2.2.1注意事項(xiàng):1.不要隨意修改文件夾路徑,最好是放到d:/wnmp下,如果一定要修改路徑就必須要遵循下邊的規(guī)定2.因?yàn)橐胏gi模式運(yùn)行php,所以php版本要選擇nts版3.不要選擇太高版本的PHP,因?yàn)檫@會(huì)導(dǎo)致memcache很難安裝或找不到對(duì)應(yīng)版本的dll4.如果php用vc9的32位版本,那麼memcache也要對(duì)應(yīng)的選擇該版本的dll5.正常的環(huán)境搭建起來(lái)之後應(yīng)該至少有3個(gè)進(jìn)程,分別是:80端口的nginx;11211的memcache;9000的php-cgi6.綁定多域名時(shí)複製一份/wnmp/_conf/?.conf,然後進(jìn)行編輯,編輯完成后要重啟 Nginx 或reload一下也可以7.添加網(wǎng)站時(shí),資料夾應(yīng)使用“/”不可以使用“\”,例如:D:/wnmp/nginx1.3/_www/如果要修改路徑:1.首先修改setup.bat和stop.bat裡的路徑2.修改php.ini裡的ext路徑3.修改nginx.conf裡的路徑4.修改_conf裡每個(gè)conf檔案里的路徑用法:1.啟動(dòng) start.bat2.停止 stop.bat3.把PHP檔案放入 /wnmp/_www 下即可???? 通過上邊的說(shuō)明可以看出,這個(gè)組合我并沒有把mysql加進(jìn)來(lái),也沒有加入zend,反而是加入了xdebug,原因很簡(jiǎn)單:我需要這個(gè)組合做開發(fā)用.而我現(xiàn)在用的服務(wù)器是CentOS操作系統(tǒng),用的數(shù)據(jù)庫(kù)是Redis,所以這個(gè)組合沒辦法正式作為生產(chǎn)用,如果你希望能夠搭建一個(gè)可以生產(chǎn)用的調(diào)試環(huán)境的話,那么我建議你拿掉xdebug,加入zend和eAcc另外下載軟件的時(shí)候也要下載那些用tar封裝的版本.數(shù)據(jù)庫(kù)其實(shí)沒必要整合進(jìn)這個(gè)組合內(nèi),他可以單獨(dú)來(lái)安裝.
???? 好了,接下來(lái)我詳細(xì)的說(shuō)一下這個(gè)組合的搭建思路,首先要準(zhǔn)備軟件,我們需要:
1.php-5.3.0-nts-Win32-VC9-x86.zip? 下載地址是:http://windows.php.net/downloads/releases/archives/
注意:一定要下載nts版,不然無(wú)法運(yùn)行在cgi模式下,另外我之所以沒有選擇更高的php版本,是因?yàn)楦甙姹静粔蚍€(wěn)定,外加高版本很難找到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的時(shí)候一定要注意和php的版本對(duì)應(yīng)不然永遠(yuǎn)安裝不成功,例如:memcache要下載php_memcache-2.2.6-5.3-nts-vc9-x86.zip這個(gè),而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的作用是在執(zhí)行完命令行腳本后可以自動(dòng)關(guān)閉腳本,而從腳本中開啟的進(jìn)程不被關(guān)閉
?
操作方法:
???? 1.在d:建立wnmp目錄,在wnmp下建立php5.3目錄,把下載得到的php壓縮包解壓進(jìn)去.
???? 2.找到php.ini-development修改為php.ini,然後打開修改一下內(nèi)容:
????? 把cgi.fix_pathinfo=1左側(cè)的分號(hào)去掉.
????? 找到extension_dir把左側(cè)的分號(hào)去掉,并改為extension_dir = "d:/wnmp/php5.3/ext"
????? 找到extension=???.dll,看你需要哪些組件,把左側(cè)的分號(hào)去掉
???? 3.在wnmp下建立nginx1.3目錄,把nginx解壓進(jìn)去,然後修改conf下的nginx.conf,修改後的內(nèi)容為:
#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的目的是爲(wèi)了綁定多個(gè)域名到多個(gè)虛擬目錄include D:/wnmp/_conf/*.conf; }???? 4.在wnmp下分別建立_conf文件夾和_www文件夾,然後在_conf下建立a.com.conf,內(nèi)容為:
server {listen 80; #端口server_name www.a.com; #綁定域名,以空格的方式添加多域名。index index.html index.htm index.php; #默認(rèn)文檔,以空格的方式添加多默認(rèn)文檔。root D:/wnmp/_www/_a; #網(wǎng)站文件地址,目錄用“/”形式。否則容易出現(xiàn)錯(cuò)誤。autoindex on; #是否開啟目錄瀏覽,off為禁止。charset utf-8; #編碼error_page 404 /404.html; #404錯(cuò)誤代碼指定文件location = /404.html { #錯(cuò)誤所顯示文檔root D:/wnmp/_www; #錯(cuò)誤文件目錄}error_page 500 502 503 504 /50x.html; #50x錯(cuò)誤代碼指定文件location = /50x.html { #錯(cuò)誤所顯示文檔root D:/wnmp/_www; #錯(cuò)誤文件目錄}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,內(nèi)容為:
server {listen 80; #端口server_name www.b.com; #綁定域名,以空格的方式添加多域名。index index.html index.htm index.php; #默認(rèn)文檔,以空格的方式添加多默認(rèn)文檔。root D:/wnmp/_www/_b; #網(wǎng)站文件地址,目錄用“/”形式。否則容易出現(xiàn)錯(cuò)誤。autoindex on; #是否開啟目錄瀏覽,off為禁止。charset utf-8; #編碼error_page 404 /404.html; #404錯(cuò)誤代碼指定文件location = /404.html { #錯(cuò)誤所顯示文檔root D:/wnmp/_www; #錯(cuò)誤文件目錄}error_page 500 502 503 504 /50x.html; #50x錯(cuò)誤代碼指定文件location = /50x.html { #錯(cuò)誤所顯示文檔root D:/wnmp/_www; #錯(cuò)誤文件目錄}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;} }通過上邊的操作,實(shí)際上我們已經(jīng)在D:/wnmp/_www下建立了兩個(gè)網(wǎng)站,他們分別是:
?????D:/wnmp/_www/_a? 綁定的域名是?www.a.com
?????D:/wnmp/_www/_b? 綁定的域名是?www.b.com
nginx+php的環(huán)境就初步配置好了,我們可以用命令啟動(dòng)一下試試看:
???? d:/wnmp/php5.3/php-cgi.exe -b 127.0.0.1:9000 -c d:/wnmp/php5.3/php.ini
????這樣就可以啟動(dòng)了,打開任務(wù)管理器看一下進(jìn)程,或者用netstat看一下端口佔(zhàn)用,如果正常的話應(yīng)該9000端口被佔(zhàn)用了
????nginx也可以手工啟動(dòng)起來(lái),用下邊的命令試試看:
????D:/wnmp/nginx1.3/nginx.exe -p D:/wnmp/nginx1.3
????啟動(dòng)之後你會(huì)發(fā)現(xiàn)80端口被佔(zhàn)用了.
如果上邊的兩部份都成功了的話,那麼你就已經(jīng)成功了一大半.
???? 接下來(lái)就是需要配置memcache和xdebug了,前邊我已經(jīng)說(shuō)過了,我安裝這兩部份是爲(wèi)了開發(fā)方便所以我要用debug的東西和緩存的部份,如果你是想架設(shè)正式服務(wù)器的話,那麼就在此時(shí)安裝zend;memcache和eAcc.但是要說(shuō)明一點(diǎn):zend和xdebug是不能共存的,他們會(huì)衝突,原因就是同行競(jìng)爭(zhēng)了!!!
現(xiàn)在我們來(lái)安裝memcache和xdebug:
???? 把我們剛才下載的dll丟進(jìn)/wnmp/php5.3/ext文件夾下,然後修改php.ini用extension=???.dll載入就行了.
???? xdebug要用下邊的方式來(lái)載入:
;載入Xdebug [Xdebug] zend_extension="D:/wnmp/PHP5.3/ext/php_xdebug-2.2.1-5.3-vc9-nts.dll" ;是否開啟調(diào)試內(nèi)容 xdebug.profiler_enable=on ;是否開啟自動(dòng)跟蹤 xdebug.auto_trace = On ;是否開啟異常跟蹤 xdebug.show_exception_trace = On ;是否收集變量 xdebug.collect_vars = On ;是否收集返回值 xdebug.collect_return = On ;是否收集參數(shù) xdebug.collect_params = On ;跟蹤輸出路徑 xdebug.trace_output_dir="D:/wnmp/tmp/xdebug" ;調(diào)試輸出路徑 xdebug.profiler_output_dir="D:/wnmp/tmp/xdebug"注意:我們用的是nts版,所以要用zend_extension的方式來(lái)載入,別搞錯(cuò)了.
最後重啟一下nginx就大功告成了.爲(wèi)了啟動(dòng)和關(guān)閉方便,我寫了一個(gè)批處理在執(zhí)行開啟和停止的動(dòng)作,代碼如下:
rem 這是start.bat @echo off color 06 REM Windows 下無(wú)效 REM set PHP_FCGI_CHILDREN=5call stop.batREM 每個(gè)進(jìn)程處理的最大請(qǐng)求數(shù),或設(shè)置為 Windows 環(huán)境變量 set PHP_FCGI_MAX_REQUESTS=1000echo Starting Memcache 2.2.6 ... "D:/wnmp/memcache/memcached.exe" -d install "D:/wnmp/memcache/memcached.exe" -d startecho 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.iniecho Starting Nginx 1.3.6 ... RunHiddenConsole D:/wnmp/nginx1.3/nginx.exe -p D:/wnmp/nginx1.3pause rem 這是stop.bat @echo off echo Stopping Nginx... taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nulecho Stopping Memcache ... "D:/wnmp/memcache/memcached.exe" -d stop cls最後我把我封裝的Nginx+memcache+xdebug+php運(yùn)行環(huán)境提供給大家下載吧:
下載地址是:http://download.csdn.net/detail/sibang/4805911
?
http://www.cnblogs.com/see7di/archive/2012/11/24/2786153.html
?
轉(zhuǎn)載于:https://www.cnblogs.com/softidea/p/5651337.html
總結(jié)
以上是生活随笔為你收集整理的自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 来来来,一起五句话搞定JavaScrip
- 下一篇: 实现WIFI客户端上网设置说明