在windows 下搭建 Nginx 服务器

  • 来源: 黑吧安全网 作者: 戴九军   2011-05-06/08:50
  • 1、准备的文件:

    Nginx 下载地址:http://soft.qudong.com/down/26155.html

    PHP 下载地址:http://soft.qudong.com/down/26156.html

    MySQL 下载地址:http://soft.qudong.com/down/26154.html

    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:\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\php\php.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:\nginx\conf\nginx.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 Apache's document root

    # concurs with nginx's 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;

    # ssl_protocols SSLv2 SSLv3 TLSv1;

    # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    # ssl_prefer_server_ciphers on;

    # location / {

    # root html;

    # index index.html index.htm;

    # }

    #}

    }

    检测NginX服务器是否启动好可以 通过 查看 nginx\logs\error.log 文件信息知道。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多