PHP-Windows下搭建Nginx+PHP環境

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   ar   for   sp   

項目中光用Nginx了, 由於有營運人員, 很少搭建Nginx伺服器, 開發也就用用Apache, 搭過幾次Nginx也忘的快, 每次都去翻別人部落格, 今天重搭特此記錄, 裝前最好瞭解下FastCGI(點我去學習)

1、首先需要準備的應用程式套件組合。

  nginx:nginx/Windows-1.7.6 (點我去官網選版本)

  php:php-5.3.29-nts-Win32-VC9-x86.zip (點我去官網選版本)(nginx下php是以FastCGI的方式運行,所以我們下載非安全執行緒也就是nts的php包)

  (還會用到)RunHiddenConsole:RunHiddenConsole.zip

2、安裝與配置。

 1)php的安裝與配置。

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

extension_dir = "./ext"

更改為

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

往下看,再找到

;extension=php_mysql.dll
;extension=php_mysqli.dll...等等等把想要的擴充都去掉注釋吧

  PHP 載入擴充需要注意依賴性,比如 php_exif.dll 需要 php_mbstring.dll,你必須要把 php_mbstring.dll 放在 php_exif.dll 前面才能載入成功。

  接下來我們來配置php,讓php能夠與nginx結合。找到並去掉以下行的注釋(即去掉行首分號)

cgi.force_redirect = 1 cgi.fix_pathinfo = 1 cgi.rfc2616_headers = 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

PS:上面有些圖也是用的這個部落格的。。。。。^_^

PHP-Windows下搭建Nginx+PHP環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.