Windows下Nginx支持php的步骤

1、下载Nginx,http://nginx.org/ 我下载的是nginx/Windows-1.2.0版本
  
下载完Nginx后,需要在Windows中安装Nginx,Nginx Windows版本的安装非常方便,只要解压缩后,将文件拷贝到C盘根目录下即可,我的Nginx安装目录为D:\nginx

2、我使用的是PHP5.2.4,你可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可


配置Nginx支持运行PHP
  
首先需要打开D:\nginx,找到D:\nginx\conf目录下的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复制到C:\Windows

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

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

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

3、启动Nginx服务,即在CMD模式下输入D:/nginx/nginx.exe 

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

另外两个执行文件
start_nginx.bat

@echo off
echo Starting PHP FastCGI...
RunHiddenConsole D:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/Windows/php.ini
echo Starting nginx...
RunHiddenConsole D:/nginx/nginx.exe
Exit


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
 


Discuz! X2 配置URL伪静态Rewrite规则

rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%
3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
if (!-e $request_filename) {
return 404;
}

你可能感兴趣的:(Windows下Nginx支持php的步骤)