1.準(zhǔn)備工作
Windows操作系統(tǒng)
-
Nginx
下載地址:http://nginx.org/en/download.html
選擇一個(gè)最新版下載即可撵割,我下載的是 nginx/Windows-1.9.15
-
PHP
下載地址:http://php.net/downloads.php
(nginx下php是以FastCGI的方式運(yùn)行雷恃,所以我們下載非線程安全也就是nts的php包)
選擇一個(gè)PHP7的最新版下載即可屹徘,我下載的是 php-7.0.5-nts-Win32-VC14-x64
2.軟件安裝
-
Nginx
Nginx本身就是綠色軟件沾谜,下載zip安裝包解壓后,雙擊nginx.exe就可以運(yùn)行
我的nginx放置的目錄為:C:\lish\Program\nginx-1.9.15
雙擊后在劉瀏覽器打開 http://127.0.0.1 即可以看到歡迎頁面
-
PHP
PHP也是綠色軟件,下載zip安裝包解壓即可
我的PHP放置的目錄為:C:\lish\Program\php-7.0.5
3.環(huán)境配置
準(zhǔn)備一個(gè)文件夾,作為網(wǎng)站的根目錄,這個(gè)在下面的配置文件中會(huì)多次用到轴咱,我的網(wǎng)站根目錄為:C:\lish\Program\htdoc
- Nginx
在Nginx根目錄下找到conf目錄,編輯器打開nginx.conf
1.找到這個(gè)配置塊,
location / {嗦玖,
root html;
index index.html index.htm;
}
修改為:
location / {患雇,
root C:\lish\Program\htdoc;
index index.html index.htm;
}
2.找到這個(gè)配置塊
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”所指的站點(diǎn)路徑,這是改完后的:
location ~ .phpdocument_root`$fastcgi_script_name;
include fastcgi_params;
}
-
PHP
在php根目錄下找到php.ini-development文件器瘪,復(fù)制一份在當(dāng)前目錄并且重命名為php.ini
記事本打開php.ini,找到 “;cgi.fix_pathinfo=1”翠储,去掉全面的分好,也就是說打開這條注釋橡疼。
4.運(yùn)行與測試
-
配置原理
在這里援所,我簡單說說配置的原理,因?yàn)閚ginx是一個(gè)反向代理的web服務(wù)器欣除,因此它其實(shí)必須依賴一個(gè)真正的web服務(wù)器才能執(zhí)行動(dòng)態(tài)的網(wǎng)頁內(nèi)容住拭,因此這里php就是使用fastcgi來充當(dāng)這個(gè)真正的web服務(wù)器,它運(yùn)行在9000端口上历帚,這也是為什么nginx.conf中有這樣一句
fastcgi_pass 127.0.0.1:9000;
滔岳,知道這個(gè)原理后,下面的思路就很明確了挽牢,打開fastcgi谱煤,然后再打開nginx就行了 -
打開nginx
這個(gè)沒啥好說的,雙擊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 下新建一個(gè)info.php文件睹栖,輸入如下內(nèi)容:
<?php
phpinfo
?>
打開瀏覽器硫惕,輸入 http://127.0.0.1/info.php,這時(shí)候可以看到如下頁面了:
5.補(bǔ)充
執(zhí)行了php-cgi.exe -b 127.0.0.1:9000 -c php.ini
之后野来,控制臺(tái)就一直開著疲憋,很不方便。
這個(gè)時(shí)候可以使用 RunHiddenConsole.zip 來得以補(bǔ)充
然后復(fù)制到nginx目錄梁只,新建兩個(gè)bat批處理文件,start.bat和stop.bat
start_nginx.bat:
@echo off
REM set PHP_FCGI_CHILDREN=5
set PHP_FCGI_MAX_REQUESTS=1000
echo 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.ini
echo 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 off
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM php-cgi.exe > nul
exit
nginx的目錄此時(shí)大概是這樣子:
保存兩個(gè)文件埃脏,點(diǎn)擊start_nginx.bat:啟動(dòng)nginx和php搪锣!這時(shí)候Ctrl+Alt+Del可以看到:
打開瀏覽器,輸入 http://127.0.0.1/info.php彩掐,這時(shí)候同樣可以看到剛才的目錄构舟。