Nginx是*nix上很强悍的一个WEB Server,由于最近经常用到Linux下的Ngnix服务器,所以同步把硬盘上的WEB服务器从Apache更改成Nginx,在Windows下的安装和配置基本如下,备查:
- 到http://www.nginx.org/下载最新版本的Windows二进制zip文件,解压开来,假如解压开来的nginx的服务器的根目录在x:\nginx目录下,假如设置本地网站的根目录为x:\webroot目录,假如PHP的目录存在于x:\php;
- 打开nginx\conf\nginx.conf配置文件:
location / {
root html;
index index.html index.htm;
}
修改Nginx配置如下
location / {
root x:/webroot;
index index.php index.html index.htm;
}
注意:路径分隔符请使用”/”而不要使用Windows中的”\”以防歧义。 - 在Nginx配置文件中找到
#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;
#}
去处#并添加WEB目录,即
location ~ \.php$ {
root x:/webroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME x:/webroot $fastcgi_script_name;
include fastcgi_params;
}
注意:将 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 中的/scripts修改为之前设定的网站根目录x:/webroot。 - 设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。
- 修改PHP.INI配置文件中的 cgi.fix_pathinfo = 1
- 修改PHP.INI配置文件中的 cgi.rfc2616_headers = 1
- 修改PHP.INI配置文件中的 cgi.force_redirect = 1
- 如果有用到Xdebug调试php程序的话,并且如果Xdebug的端口也正好是9000的时候,需要修改php.ini中的Xdebug的端口,以避免冲突,如下:
xdebug.remote_port = 9000 修改成 xdebug.remote_port = 9876 - Nginx支持PHP的配置基本设置,启动Nginx如下:
- 首先下载一个RunHiddenConsole.exe,可以放在nginx的根目录下;
- 编写一个如下的start_nginx.bat脚本,和RunHiddenConsole放在一起,启动nginx服务器:
@echo off
echo Starting PHP FastCGI…
RunHiddenConsole X:\php\php-cgi.exe -b 127.0.0.1:9000 -c X:\php\php.ini
start X:\nginx\nginx.exe
echo Starting nginx… - 编写一个如下的stop_nginx.bat脚本,和RunHiddenConsole放在一起,停止nginx服务器:
@echo off
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM php-cgi.exe > nul
exit - nginx配置成功,可以直接phpinfo来检验。