windows下配置nginx+php开发

在php开发当中,最常用的环境莫过于在LAMP:linux+apache+mysql+php了,在windows下有WAMP:windows+apache+mysql+php和iis+mysql+php。这些的配置我这里不做说明,留在下次说明,其实我本人也是在上述环境下开发。今天我我看了一个大家都说世界上运行最快的,站资源很少的服务器:nginx(engine x的简称)。我这里要讲的是windows下配置nginx+php+mysql的环境。

    这个环境我个人也是使用了下,原理是采用cgi来运行的。大家都知道,php在apache下面有两种运行方式,一种是以模块形式运行,一种是cgi形式(不过这里的cgi和传统不太相同,这里使用的是fast-cgi方式。它比传统cgi运行速度快,资源消耗小)。下面就说下nginx的配置吧。这里的前提是php 和 mysql都已经配置好了(如果不会的,请到到谷歌,百度上查询)。

      nginx常见有linux下和windows下的。而windows下的是Kevin Worthington利用Cygwin编译的nginx的32bit windows版:Nginx For Windows开发版或是稳定版,下载地址是:http://www.kevinworthington.com/nginx-for-windows/。还有个windows版:nginx/Windows开发版或是稳定版,下载地址是:http://nginx.org/,这里下载。我个试了下,这两个区别一个点击安装,一个不用安装。为什么搞两个地址,我也不知道。我们下载下来,不管是安装的还是非安装的都要配置nginx下conf下的nginx.conf文件。


#一下是我把那个文件全部贴出来,然后把我修改过的地方标注   
  1.   
  2.   
  3. #user  nobody;   
  4. worker_processes  1;   
  5.   
  6. #error_log  logs/error.log;   
  7. #error_log  logs/error.log  notice;   
  8. #error_log  logs/error.log  info;   
  9.   
  10. #pid        logs/nginx.pid;   
  11.   
  12.   
  13. events {   
  14.     worker_connections  1024;   
  15. }   
  16.   
  17.   
  18. http {   
  19.     include       mime.types;   
  20.     default_type  application/octet-stream;   
  21.   
  22.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
  23.     #                  '$status $body_bytes_sent "$http_referer" '  
  24.     #                  '"$http_user_agent" "$http_x_forwarded_for"';   
  25.   
  26.     #access_log  logs/access.log  main;   
  27.   
  28.     sendfile        on;   
  29.     #tcp_nopush     on;   
  30.   
  31.     #keepalive_timeout  0;   
  32.     keepalive_timeout  65;   
  33.   
  34.     #gzip  on;   
  35.   
  36.     server {   
  37.         listen       80;  #服务器监听的端口,http请求的端口   
  38.         server_name  localhost;  #服务器地址   
  39.   
  40.         charset gbk;  #服务处理的编码   
  41.   
  42.         #access_log  logs/host.access.log  main;   
  43.   
  44.         location / {   
  45.             root   E:\www;  #网站的更目录,也可以写成 E:/www   
  46.             index  index.html index.htm;   #网站的默认网页文件   
  47.         autoindex on;  #当网站没有默认文件时,打开域名可以看到文件目录结构   
  48.         }   
  49.   
  50.         #error_page  404              /404.html;   
  51.   
  52.         # redirect server error pages to the static page /50x.html   
  53.         #   
  54.         error_page   500 502 503 504  /50x.html;   
  55.         location = /50x.html {   
  56.             root   html;   
  57.         }   
  58.   
  59.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80   
  60.         #   
  61.         #location ~ \.php$ {   
  62.         #    proxy_pass   http://127.0.0.1;   
  63.         #}   
  64.   
  65.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000   
  66.         #  这里是重点啦,要小心一下要把文件解注释掉   
  67.         location ~ \.php$ {     
  68.         #    root           html;  #这行不要接注释   
  69.             fastcgi_pass   127.0.0.1:9000;  #fast-cgi也就是php-cgi监听地址和端口   
  70.             fastcgi_index  index.php;   
  71.             fastcgi_param  SCRIPT_FILENAME  E:\www$fastcgi_script_name;  #这里要特别注意,把网站的根目录直接替换掉 /scripts 就可以,这里也可以写成 E:/www 。   
  72.             include        fastcgi_params;   
  73.         }   
  74.   
  75.         # deny access to .htaccess files, if Apache's document root   
  76.         # concurs with nginx's one   
  77.         #   
  78.         #location ~ /\.ht {   
  79.         #    deny  all;   
  80.         #}   
  81.     }   
  82.   
  83.   
  84.     # another virtual host using mix of IP-, name-, and port-based configuration   
  85.     #   
  86.     #server {   
  87.     #    listen       8000;   
  88.     #    listen       somename:8080;   
  89.     #    server_name  somename  alias  another.alias;   
  90.   
  91.     #    location / {   
  92.     #        root   html;   
  93.     #        index  index.html index.htm;   
  94.     #    }   
  95.     #}   
  96.   
  97.   
  98.     # HTTPS server   
  99.     #   
  100.     #server {   
  101.     #    listen       443;   
  102.     #    server_name  localhost;   
  103.   
  104.     #    ssl                  on;   
  105.     #    ssl_certificate      cert.pem;   
  106.     #    ssl_certificate_key  cert.key;   
  107.   
  108.     #    ssl_session_timeout  5m;   
  109.   
  110.     #    ssl_protocols  SSLv2 SSLv3 TLSv1;   
  111.     #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;   
  112.     #    ssl_prefer_server_ciphers   on;   
  113.   
  114.     #    location / {   
  115.     #        root   html;   
  116.     #        index  index.html index.htm;   
  117.     #    }   
  118.     #}   
  119.   
  120. }  
#一下是我把那个文件全部贴出来,然后把我修改过的地方标注


#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  1024;
}


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;  #服务器监听的端口,http请求的端口
        server_name  localhost;  #服务器地址

        charset gbk;  #服务处理的编码

        #access_log  logs/host.access.log  main;

        location / {
            root   E:\www;  #网站的更目录,也可以写成 E:/www
            index  index.html index.htm;   #网站的默认网页文件
	    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;  #fast-cgi也就是php-cgi监听地址和端口
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  E:\www$fastcgi_script_name;  #这里要特别注意,把网站的根目录直接替换掉 /scripts 就可以,这里也可以写成 E:/www 。
            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.exe 和 php-cgi.exe 文件。

我的nginx在D盘下,运行命令是:D:\nginx-0.7.61>nginx.exe

我的php也在D盘下,运行名利是:D:\php5.2.6>php-cgi.exe -b 127.0.0.1:9000 ,这里的127.0.0.1:9000就是我们在nginx.conf文件中配置的那个,端口号一定要相同哦。
这个两个运行顺序无关。

     好啦,到了这里我们就在 E:\WWW 目录下放一张info.php文件,在地址栏里面输入http://localhost/info.php ,呵呵,是不是成功啦。下次介绍php更多详细配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值