[轉] http://www.cnblogs.com/fengyuqing/p/php_nginx.htmlphp
一、首先須要準備的應用程序包。html
nginx:nginx/Windows-1.0.4mysql
php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,因此咱們下載非線程安全也就是nts的php包)nginx
(還會用到)RunHiddenConsole:RunHiddenConsole.zipsql
二、安裝與配置。windows
1)php的安裝與配置。瀏覽器
直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這裏把解壓出來的文件夾重命名成php5。進入文件夾修改php.ini-recommended文件爲php.ini,並用Editplus或者Notepad++打開來。找到安全
extension_dir = "./ext"
更改成spa
extension_dir = "D:/wnmp/php5/ext"
往下看,再找到.net
;extension=php_mysql.dll ;extension=php_mysqli.dll
前面指定了php的ext路徑後,只要把須要的擴展包前面所對應的「;」去掉,就能夠了。這裏打開php_mysql.dll和php_mysqli.dll,讓php支持mysql。固然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件複製到C:\Windows目錄下,也能夠在系統變量裏面指定路徑,固然這裏我選擇了更爲方便的方法^_^。
到這裏,php已經能夠支持mysql了。
接下來咱們來配置php,讓php可以與nginx結合。找到
;cgi.fix_pathinfo=1
去掉裏面的分號
cgi.fix_pathinfo=1
這一步很是重要,這裏是php的CGI的設置。
2)nginx的安裝與配置。
把下載好的nginx-1.0.4的包一樣解壓到D盤的wnmp目錄下,並重命名爲nginx。接下來,咱們來配置nginx,讓它可以和php協同工做。進入nginx的conf目錄,打開nginx的配置文件nginx.conf,找到
location / { root html; #這裏是站點的根目錄 index index.html index.htm; }
將root html;改成root D:/wnmp/www;
再往下,找到
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # 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 127.0.0.1:9000 # 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; }
保存配置文件,就能夠了。
nginx+php的環境就初步配置好了,來跑跑看。咱們能夠輸入命令來啓動php,並手動啓動nginx,固然也能夠利用腳原本實現。
首先把下載好的RunHiddenConsole.zip包解壓到nginx目錄內,RunHiddenConsole.exe的做用是在執行完命令行腳本後能夠自動關閉腳本,而從腳本中開啓的進程不被關閉。而後來建立腳本,命名爲「start_nginx.bat」,咱們在Notepad++裏來編輯它:
@echo off REM Windows 下無效 REM set PHP_FCGI_CHILDREN=5 REM 每一個進程處理的最大請求數,或設置爲 Windows 環境變量 set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI... RunHiddenConsole D:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/php5/php.ini echo Starting nginx... RunHiddenConsole D:/wnmp/nginx/nginx.exe -p D:/wnmp/nginx
再另外建立一個名爲stop_nginx.bat的腳本用來關閉nginx:
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit
作好後,是這樣的:
這樣,咱們的服務腳本也都建立完畢了。雙擊start_nginx.bat看看進程管理器是否是有兩個nginx.exe的進程和一個php-cgi.exe的進程呢?
這樣nginx服務就啓動了,並且php也以fastCGI的方式運行了。
到站點目錄下,新建一個phpinfo.php的文件,在裏面編輯
<?php phpinfo(); ?>
保存後,打開瀏覽器輸入「http://localhost/phpinfo.php」,若是看到
就說明,nginx+php的環境已經配置好了,呵呵~
注意:
有同窗根據如上配置 ,仍是沒法經過 cgi啓動php,此時建議從新啓動電腦,再試下。