/ 中存储网

Windows系统下安装配置Nginx+PHP5(FastCgi)服务环境

2013-11-04 18:49:01 来源:itjs.cn

nginx为一款支持PHP的轻量级WEB服务器,在PHP网站建设中收到越来越多的应用,最近在Windows平台上安装配置了Nginx+PHP5的运行环境,非常方便,现详细介绍下Windows下Nginx配置PHP5的基础教程,Nginx配置PHP是以FastCgi方式配置的。

下载Nginx

Nginx可以在多种操作系统上安装配置,我使用的是Windows,所以需要下载Nginx Windows版本,点击下载Nginx。我下载的是nginx/Windows-0.8.53版本。

安装Nginx

下载完Nginx后,需要在Windows中安装Nginx,Nginx Windows版本的安装非常方便,只要解压缩后,将文件拷贝到C盘根目录下即可,我的Nginx安装目录为C:nginx-0.8.53。

安装配置PHP

我使用的是PHP5.2,你可以可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可,PHP安装配置教程推荐参考:Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

配置Nginx支持运行PHP

首先需要打开C:nginx-0.8.53,找到C:nginx-0.8.53conf目录下的nginx.conf,以记事本打开,

配置Nginx支持PHP第一步

设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。

配置Nginx支持PHP第二步

设定WEB服务器目录,类似于PHP.INI配置文件中的document_root,Nginx配置文件中的原有信息如下

location / {

root   html;

index  index.html index.htm;

}

修改Nginx配置如下

location / {

root   D:/PHPWeb;

index  index.php index.html index.htm;

}

这里需要注意,路径分隔符请使用”/”而不要使用Windows中的””以防歧义。

配置Nginx支持PHP第三步

在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           D:/PHPWeb;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  D:/PHPWeb$fastcgi_script_name;

include        fastcgi_params;

}

这里需要注意,需要将

fastcgi_param  SCRIPT_FILENAME   /scripts$fastcgi_script_name;

中的/scripts修改为之前设定的WEB目录,否则会报HTTP 404错误。

配置Nginx支持PHP第三步

修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。

至此,Nginx支持运行PHP的基础配置工作就好了。

接下来我们需要启动PHP FastCgi和Nginx服务以便运行PHP程序,方法如下

1、首先下载RunHiddenConsole.exe

2、启动PHP FastCgi,在CMD模式下输入

RunHiddenConsole C:/php52iis/php-cgi.exe -b 127.0.0.1:9000 -c C:/windows/php.ini

注意你的PHP安装目录,以及php.ini配置文件所在的位置。

3、启动Nginx服务,即在CMD模式下输入

C:/nginx-0.8.53/nginx.exe

至此Windows下配置Nginx以支持运行PHP的基础配置方法就完成了,你可以通过phpinfo函数查看到此时运行PHP的WEB服务器变成了Nginx。