一、下載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 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 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;
}