剛看到nginx這個(gè)詞,我很好奇它的讀法(engine x),我的直譯是“引擎x”,一般引“擎代”表了性能,而“x”大多出現(xiàn)是表示“xtras(額外的效果)”,那么整個(gè)詞的意思就是類似“極致效果”,“額外性能”。當(dāng)然這里不是要來(lái)嘮嗑,以上是題外話。
nginx相較于我們熟悉的apache、IIS的優(yōu)勢(shì),就我淺入淺出的了解,在于“反向代理”和“負(fù)載均衡”。因此考慮到能夠?yàn)閃eb服務(wù)器節(jié)省資源,它可以代替apache來(lái)提供Web服務(wù)。那么上正題了,nginx有這么多優(yōu)勢(shì),那在windows下如何來(lái)配置nginx+php環(huán)境?網(wǎng)上看到還是那么多轉(zhuǎn)載來(lái)轉(zhuǎn)載去的文章。這里就我配置的過(guò)程,來(lái)介紹一下:
1、首先需要準(zhǔn)備的應(yīng)用程序包。
nginx:nginx/Windows-1.0.4
php:php-5.2.16-nts-Win32-VC6-x86.zip?(nginx下php是以FastCGI的方式運(yùn)行,所以我們下載非線程安全也就是nts的php包)
?。ㄟ€會(huì)用到)RunHiddenConsole:RunHiddenConsole.zip
2、安裝與配置。
1)php的安裝與配置。
直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這里把解壓出來(lái)的文件夾重命名成php5。進(jìn)入文件夾修改php.ini-recommended文件為php.ini,并用Editplus或者Notepad++打開(kāi)來(lái)。找到
extension_dir = "./ext"
更改為
extension_dir = "D:/wnmp/php5/ext"
;extension=php_mysql.dll<br />;extension=php_mysqli.dll
前面指定了php的ext路徑后,只要把需要的擴(kuò)展包前面所對(duì)應(yīng)的“;”去掉,就可以了。這里打開(kāi)php_mysql.dll和php_mysqli.dll,讓php支持mysql。當(dāng)然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件復(fù)制到C:\Windows目錄下,也可以在系統(tǒng)變量里面指定路徑,當(dāng)然這里我選擇了更為方便的方法^_^。
到這里,php已經(jīng)可以支持mysql了。
接下來(lái)我們來(lái)配置php,讓php能夠與nginx結(jié)合。找到
?
;cgi.fix_pathinfo=1
我們?nèi)サ暨@里的封號(hào)。
cgi.fix_pathinfo=1
2)nginx的安裝與配置。
把下載好的nginx-1.0.4的包同樣解壓到D盤的wnmp目錄下,并重命名為nginx。接下來(lái),我們來(lái)配置nginx,讓它能夠和php協(xié)同工作。進(jìn)入nginx的conf目錄,打開(kāi)nginx的配置文件nginx.conf,找到
location / {<br /> root html; #這里是站點(diǎn)的根目錄<br /> index index index.html index.htm index.php;<br />}
將root??html;改為root?? D:/wnmp/www;
再往下,找到
?
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000<br />#<br />#location ~ \.php$ {<br /># root html;<br /># fastcgi_pass 127.0.0.1:9000;<br /># fastcgi_index index.php;<br /># fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;<br /># include fastcgi_params;<br />#}
先將前面的“#”去掉,同樣將root??html;改為root?? D:/wnmp/www;。再把標(biāo)記為紅色的/scripts改為“$document_root”,這里的“$document_root”就是指前面“root”所指的站點(diǎn)路徑,這是改完后的:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000<br />#<br />location ~ \.php$ {<br /> root D:/wnmp/www;<br /> fastcgi_pass 127.0.0.1:9000;<br /> fastcgi_index index.php;<br /> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br /> include fastcgi_params;<br />}
保存配置文件,就可以了。
nginx+php的環(huán)境就初步配置好了,來(lái)跑跑看。我們可以輸入命令?
來(lái)啟動(dòng)php,并手動(dòng)啟動(dòng)nginx,當(dāng)然也可以利用腳本來(lái)實(shí)現(xiàn)。
首先把下載好的RunHiddenConsole.zip包解壓到nginx目錄內(nèi),RunHiddenConsole.exe的作用是在執(zhí)行完命令行腳本后可以自動(dòng)關(guān)閉腳本,而從腳本中開(kāi)啟的進(jìn)程不被關(guān)閉。然后來(lái)創(chuàng)建腳本,命名為“start_nginx.bat”,我們?cè)贜otepad++里來(lái)編輯它
@echo off<br />REM Windows 下無(wú)效<br />REM set PHP_FCGI_CHILDREN=5<br /><br />REM 每個(gè)進(jìn)程處理的最大請(qǐng)求數(shù),或設(shè)置為 Windows 環(huán)境變量<br />set PHP_FCGI_MAX_REQUESTS=1000<br /> <br />echo Starting PHP FastCGI...<br />RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini<br /> <br />echo Starting nginx...<br />RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
再另外創(chuàng)建一個(gè)名為stop_nginx.bat的腳本用來(lái)關(guān)閉nginx
@echo off<br />echo Stopping nginx... <br />taskkill /F /IM nginx.exe > nul<br />echo Stopping PHP FastCGI...<br />taskkill /F /IM php-cgi.exe > nul<br />exit
做好后,是這樣的
這樣,我們的服務(wù)腳本也都創(chuàng)建完畢了。雙擊start_nginx.bat看看進(jìn)程管理器是不是有兩個(gè)nginx.exe的進(jìn)程和一個(gè)php-cgi.exe的進(jìn)程呢?
這樣nginx服務(wù)就啟動(dòng)了,而且php也以fastCGI的方式運(yùn)行了。
到站點(diǎn)目錄下,新建一個(gè)phpinfo.php的文件,在里面編輯
<?php<br /> phpinfo();<br />?>
保存后,打開(kāi)瀏覽器輸入“http://localhost/phpinfo.php”,如果看到
就說(shuō)明,nginx+php的環(huán)境已經(jīng)配置好了,呵呵~
轉(zhuǎn)自http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)