1、准备的文件:
Nginx 下载 地址: http://sysoev.ru/nginx/nginx-0.8.16.zip
PHP 下载地址: http://cn.php.net/distributions/php-5.2.11-Win32.zip
MySQL 下载地址: http://download.mysql.cn/download_file/zip/5.0/mysql-5.0.22-win32.zip
2、nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件 :
enable_dl = On cgi.force_redirect = 0 cgi.fix_pathinfo=1 fastcgi.impersonate = 1 cgi.rfc2616_headers = 1
3、启动Nginx和PHP:
启动Nginx很简单,使用nginx目录下面的nginx.exe双击即可 。可是php的启动因为要使用cgi方式,所以有些特殊。我参照网上的方法下载了RunHiddenConsole.exe ,使用该工具用其执行的cmd窗口会自动关闭,否则你看一个CMD窗口一直在那晃来晃去,头会晕的。
创建start_php.bat,来启动php,文件内容如下:
@echo off echo Starting PHP FastCGI... RunHiddenConsole.exe d:phpphp-cgi.exe -b 127.0.0.1:9000 -c d:phpphp.ini
创建stop_nginx.bat,来关闭php和nginx进程,文件内容如下:
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit
4、nginx配置文件:(D: ginxconf ginx.conf)
#user nobody; worker_processes 1 ;
error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid;
events { worker_connections 64 ; }
http { include mime.types; default_type application/octet-stream;
#log_format main $remote_addr - $remote_user [ $time_local] "$request" # $status $body_bytes_sent "$http_referer" # "$http_user_agent" "$http_x_forwarded_for" ;
#access_log logs/access.log main;
sendfile on; #tcp_nopush on;
#keepalive_timeout 0 ; keepalive_timeout 65 ;
#gzip on;
server { listen 80 ; server_name localhost;
charset gbk;
#access_log logs/host.access.log main;
location / { root e:www; index index. html index.htm index.php; autoindex on; }
#error_page 404 /404 .html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1 ; #}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #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; #} location ~ .php$ { fastcgi_pass 127.0.0.1:9000 ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME e:www$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apaches document root # concurs with nginxs one # #location ~ /.ht { # deny all; #} }
# another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000 ; # listen somename:8080 ; # server_name somename alias another.alias;
# location / { # root html; # index index.html index.htm; # } #}
# HTTPS server # #server { # listen 443 ; # server_name localhost;
# ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
查看更多关于在windows 下搭建 Nginx 服务器 - Windows操作系统 - 自的详细内容...