windows下配置nginx+php开发

久为搭建网站,最近为了做一些测试,又得重新搭建网站,之前搭建的Nginx的网站由于机器硬盘坏掉,所有配置都被格式化了。重新搭建nginx支持php的时候,遇到了很多问题,搜索了一些资料,才解决,感谢网络上分享技术的人们。下面的文档解决了nginx 和php搭建的时候问题。非常感谢。尤其是标红那个地方。尤其重要。



windows下配置nginx+php开发

  • 博客分类: 
  • 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文件。 


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


引用
   到了这里我们就配置好了。我们开两个命令窗口,一个运行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更多详细配置。 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值