windows下配置nginx+php


[轉] http://www.cnblogs.com/fengyuqing/p/php_nginx.html

1、首先需要准備的應用程序包。

  nginx:nginx/Windows-1.0.4

  php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,所以我們下載非線程安全也就是nts的php包)

  (還會用到)RunHiddenConsole:RunHiddenConsole.zip

  

 

2、安裝與配置。

 1)php的安裝與配置。

  直接解壓下載好的php包,到D盤wnmp目錄(D:\wnmp),這里把解壓出來的文件夾重命名成php5。進入文件夾修改php.ini-recommended文件為php.ini,並用Editplus或者Notepad++打開來。找到

extension_dir = "./ext"

更改為

extension_dir = "D:/wnmp/php5/ext"

往下看,再找到

;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,此時建議重新啟動電腦,再試下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM