Windows下Nginx支持php的步驟

一、下載Nginx,http://nginx.org/ 我下載的是nginx/Windows-1.2.0版本
  
下載完Nginx後,須要在Windows中安裝Nginx,Nginx Windows版本的安裝很是方便,只要解壓縮後,將文件拷貝到C盤根目錄下便可,個人Nginx安裝目錄爲D:\nginx

二、我使用的是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程序,方法以下
  
一、首先下載RunHiddenConsole.exe複製到C:\Windows

二、啓動PHP FastCgi,在CMD模式下輸入

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

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

三、啓動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;
}
相關文章
相關標籤/搜索