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 没效果。可能是windows版本的一个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错误。