1、下載:
到官網下載nginx穩定版,解壓到e盤根目錄;
到官網下載php非安裝版,解壓到e盤根目錄。
2、配置:
打開nginx.conf,修改相關位置如下,
location / {
root html; #網站根目錄
index index.html index.htm index.php;
autoindex on; #當網站沒有默認文件時,打開域名可以看到文件目錄結構
}
location ~ /.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME e:/html/$fastcgi_script_name; #php文件存放目錄,測試過相對路徑不行,需要絕對路徑
include fastcgi_params;
}
配置好后打開命令提示符,切換到e:/nginx,啟動nginx命令:start nginx 。(相關介紹可到http://nginx.org/en/docs/windows.html)
注意:當修改配置文件后,要nginx -s quit 然后 start nginx 才有配置后的效果,用 nginx -s reload 沒效果??赡苁莣indows版本的一個bug吧。
配置php.ini,設置extension_die = "ext/",把相關用到的ext擴展dll前面的分號去掉,不然不能正常啟動php-cgi.ext。
啟動php-cgi.exe;切換到e:/php,在命令提示符下輸入php-cgi.exe -b 127.0.0.1:9000。
3、測試:
寫一個打印phpinfo()的php腳本放到html目錄下面,測試php程序是否能夠運行。經過測試成功運行。
啟動與停止:
1、啟動Nginx:
D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4
2、啟動PHP-CGI:
D:/php/php-cgi.exe -b 127.0.0.1:9001 -c D:/php/php.ini
為了方便可以寫到一個批處理文件中,這里用到了一個RunHiddenConsole,可以在這里下載:
@echo off
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5
REM 每個進程處理的最大請求數,或設置為 Windows 環境變量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
REM RunHiddenConsole C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini
D:/nginx-1.0.4/RunHiddenConsole.exe D:/php/php-cgi.exe -b 127.0.0.1:9001 -c D:/php/php.ini
echo Starting nginx...
D:/nginx-1.0.4/RunHiddenConsole.exe D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4
exit
3、停止Nginx:
D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4 -s stop
4、停止PHP-CGI:
taskkill /F /IM php-cgi.exe > nul
同樣可以寫到一個批處理文件中:
@echo off
echo Stopping nginx...
REM taskkill /F /IM nginx.exe > nul
D:/nginx-1.0.4/nginx.exe -p D:/nginx-1.0.4 -s stop
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
Nginx配置的路徑問題
由于在Windows下文件路徑可以用”/”, 也可以用”//”, 也可以用”/”作為路徑做分隔符。但”/”最容易引發問題,所以要盡量避免使用。
例如下面的配置可以正常運行
root G:/ezdemo;
但是這樣
root G:/tweb;
就會出現問題,訪問程序時會出現500錯誤。