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

        注:php版本還可以選擇nts類型的,如:php-5.3.19-nts-Win32-VC9-x86.msi,這樣php.ini就在安裝的過程中幫你配置好設置


  (還會用到)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的環境已經配置好了


原文摘自:http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章