PHP是一種兼容性很強的語言,那麼PHP+nginx的環境應該怎麼加呢?以下是本站小編精心為大家整理的windows下配置nginx+php環境,希望對大家有所幫助!更多內容請關注應屆畢業生網!
剛看到nginx這個詞,我很好奇它的讀法(engine x),我的直譯是“引擎x”,一般引“擎代”表了性能,而“x”大多出現是表示“xtras(額外的效果)”,那麼整個詞的意思就是類似“極致效果”,“額外性能”。當然這裏不是要來嘮嗑,以上是題外話。
nginx相較於我們熟悉的apache、IIS的優勢,就我淺入淺出的瞭解,在於“反向代理”和“負載均衡”。因此考慮到能夠為Web服務器節省資源,它可以代替apache來提供Web服務。那麼上正題了,nginx有這麼多優勢,那在windows下如何來配置nginx+php環境?網上看到還是那麼多轉載來轉載去的文章。這裏就我配置的過程,來介紹一下:
1、首先需要準備的應用程序包。
nginx:nginx/Windows-1.0.4
php:(nginx下php是以FastCGI的方式運行,所以我們下載非線程安全也就是nts的php包)
(還會用到)RunHiddenConsole:
2、安裝與配置。
1)php的安裝與配置。
直接解壓下載好的php包,到D盤wnmp目錄(D:wnmp),這裏把解壓出來的文件夾重命名成php5。進入文件夾修改-recommended文件為,並用Editplus或者Notepad++打開來。找到
extension_dir = "./ext"
更改為
extension_dir = "D:/wnmp/php5/ext"
往下看,再找到
;extension=php_
;extension=php_ 前面指定了php的ext路徑後,只要把需要的擴展包前面所對應的“;”去掉,就可以了。這裏打開php_和php_,讓php支持mysql。當然不要忘掉很重要的一步就是,把php5目錄下的文件複製到C:Windows目錄下,也可以在系統變量裏面指定路徑,當然這裏我選擇了更為方便的方法^_^。
到這裏,php已經可以支持mysql了。
接下來我們來配置php,讓php能夠與nginx結合。找到
;_pathinfo=1
我們去掉這裏的封號。 _pathinfo=1
這一步非常重要,這裏是php的CGI的設置。
2)nginx的安裝與配置。
把下載好的nginx-1.0.4的`包同樣解壓到D盤的wnmp目錄下,並重命名為nginx。接下來,我們來配置nginx,讓它能夠和php協同工作。進入nginx的conf目錄,打開nginx的配置文件,找到
location / {
root html; #這裏是站點的根目錄
index ;
}
將root html;改為root D:/wnmp/www;
再往下,找到
# pass the PHP scripts to FastCGI server listening on
#
#location ~ $ {
# root html;
# fastcgi_;
# fastcgi_;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params;
#}
先將前面的“#”去掉,同樣將root html;改為root D:/wnmp/www;。再把標記為紅色的
/scripts改為“$document_root”,這裏的“$document_root”就是指前面“root”所指的站點路徑,這是改完後的: # pass the PHP scripts to FastCGI server listening on
#
location ~ $ {
root D:/wnmp/www;
fastcgi_;
fastcgi_;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
保存配置文件,就可以了。
nginx+php的環境就初步配置好了,來跑跑看。我們可以輸入命令
來啟動php,並手動啟動nginx,當然也可以利用腳本來實現。
首先把下載好的包解壓到nginx目錄內,
的作用是在執行完命令行腳本後可以自動關閉腳本,而從腳本中開啟的進程不被關閉。然後來創建腳本,命名為“start_”,我們在Notepad++裏來編輯它
@echooff
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5
REM 每個進程處理的最大請求數,或設置為 Windows 環境變量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole D:/wnmp/php5/ -b -c D:/wnmp/php5/
echo Starting nginx...
RunHiddenConsole D:/wnmp/nginx/ -p D:/wnmp/nginx
再另外創建一個名為stop_的腳本用來關閉nginx
@echooff
echo Stopping nginx...
taskkill /F /IM >nul
echo Stopping PHP FastCGI...
taskkill /F /IM >nul
exit 做好後,是這樣的
這樣,我們的服務腳本也都創建完畢了。雙擊start_
看看進程管理器是不是有兩個的進程和一個的進程呢?
這樣nginx服務就啟動了,而且php也以fastCGI的方式運行了。 到站點目錄下,新建一個的文件,在裏面編輯
phpinfo();
?>
保存後,打開瀏覽器輸入如果看到
就説明,nginx+php的環境已經配置好了,呵呵~