1.準備工作
Windows操作系統(tǒng)
Nginx
下載地址:http://nginx.org/en/download.html
選擇一個最新版下載即可衙傀,我下載的是 nginx/Windows-1.9.15
PHP
下載地址:http://php.net/downloads.php
(nginx下php是以FastCGI的方式運行煮纵,所以我們下載非線程安全也就是nts的php包)
選擇一個PHP7的最新版下載即可,我下載的是 php-7.0.5-nts-Win32-VC14-x64
2.軟件安裝
Nginx
Nginx本身就是綠色軟件擂红,下載zip安裝包解壓后醉锄,雙擊nginx.exe就可以運行
我的nginx放置的目錄為:C:\lish\Program\nginx-1.9.15
雙擊后在劉瀏覽器打開 http://127.0.0.1 即可以看到歡迎頁面
Nginx歡迎頁面
PHP
PHP也是綠色軟件州既,下載zip安裝包解壓即可
我的PHP放置的目錄為:C:\lish\Program\php-7.0.5
3.環(huán)境配置
準備一個文件夾,作為網(wǎng)站的根目錄羔巢,這個在下面的配置文件中會多次用到望忆,我的網(wǎng)站根目錄為:C:\lish\Program\htdoc
Nginx
在Nginx根目錄下找到conf目錄,編輯器打開nginx.conf
1.找到這個配置塊竿秆,
location / {启摄,root html;index index.html index.htm;}
修改為:
location / {,root C:\lish\Program\htdoc;index index.html index.htm;}
2.找到這個配置塊
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”所指的站點路徑匪燕,這是改完后的:
location ~ .php$ {root C:\lish\Program\htdoc;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root
$fastcgi_script_name;include fastcgi_params;}
PHP
在php根目錄下找到php.ini-development文件蕾羊,復制一份在當前目錄并且重命名為php.ini
2.記事本打開php.ini,找到 “;cgi.fix_pathinfo=1”,去掉全面的分好谎懦,也就是說打開這條注釋肚豺。
4.運行與測試
配置原理
在這里,我簡單說說配置的原理界拦,因為nginx是一個反向代理的web服務器吸申,因此它其實必須依賴一個真正的web服務器才能執(zhí)行動態(tài)的網(wǎng)頁內容,因此這里php就是使用fastcgi來充當這個真正的web服務器享甸,它運行在9000端口上截碴,這也是為什么nginx.conf中有這樣一句fastcgi_pass 127.0.0.1:9000;
,知道這個原理后蛉威,下面的思路就很明確了日丹,打開fastcgi,然后再打開nginx就行了
打開nginx
這個沒啥好說的蚯嫌,雙擊nginx.exe就打開了哲虾,上文中已經(jīng)提到了
打開fastcgi
在命令行中,cd到php的home目錄择示,然后執(zhí)行如下命令:
php-cgi.exe -b 127.0.0.1:9000 -c php.ini
測試
在 C:\lish\Program\htdoc 下新建一個info.php文件旦委,輸入如下內容:
<?phpphpinfo?>
打開瀏覽器裙品,輸入 http://127.0.0.1/info.php,這時候可以看到如下頁面了:
5.補充
執(zhí)行了php-cgi.exe -b 127.0.0.1:9000 -c php.ini
之后,控制臺就一直開著长踊,很不方便括儒。這個時候可以使用 RunHiddenConsole.zip 來得以補充
然后復制到nginx目錄,新建兩個bat批處理文件,start.bat和stop.bat
start_nginx.bat:
@echo offREM set PHP_FCGI_CHILDREN=5set PHP_FCGI_MAX_REQUESTS=1000echo Starting PHP FastCGI…RunHiddenConsole C:/lish/Program/php-7.0.5/php-cgi.exe -b 127.0.0.1:9000 -c C:/lish/Program/php-7.0.5/php.iniecho Starting nginx…RunHiddenConsole C:/lish/Program/nginx-1.9.15/nginx.exe -p C:/lish/Program/nginx-1.9.15/nginx
stop_nginx.bat:
@echo offecho Stopping nginx…taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI…taskkill /F /IM php-cgi.exe > nulexit
nginx的目錄此時大概是這樣子:
nginx目錄結構
保存兩個文件鱼鼓,點擊start_nginx.bat:啟動nginx和php!這時候Ctrl+Alt+Del可以看到:
程序運行狀態(tài)
打開瀏覽器该编,輸入 http://127.0.0.1/info.php迄本,這時候同樣可以看到剛才的目錄。