windows下nginx+mono+fastCGI部署asp.net网站

1,什么是nginx

简介
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。更多的请见官方wiki:http://wiki.codemongers.com/NginxChs

Nginx的优点
nginx做为HTTP服务器,有以下几项基本特性: 

  • 处理静态文件,索引文件以及自动索引;
    反向代理加速(无缓存),简单的负载均衡和容错;
    FastCGI,简单的负载均衡和容错;
    模块化的结构。过滤器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;
    SSL 和 TLS SNI 支持;

简单的就这些 ..举得大家去Google吧

2,什么是fastCGI

简介:

FastCGI同CGI一样是一个WEB服务器与外部程序接口的标准,它是为解决CGI的性能问题而开发的一种技术。

fastCGI对CGI技术进行了改良,一个fastCGI进程在WEB服务器启动时或在客户端第一次请求时创建,它处理完客户端请求后并不终止,而是等待处理下一个请求。另外fastCGI程序与CGI程序与服务器的交互方式也不同,CGI程序通过环境变量、命令行、标准输入输出进行交互,因此CGI程序进程必须与服务器进程在同一台物理计算机上,而fastCGI程序与服务器进程通过网络连接交互,因此fastCGI程序可以分布在不同的计算机上,这不但可以提高性能,同时也提高了系统的扩展能力。

3,什么是Mono

Mono是一个集体的, 自发的开发项目, 旨在开发一个开放源代码的, Linux版的Microsfot.NET 开发平台. 作为一个有机的.NET整体, 它包括一个C#编译器, 一个公用语言运行时环境, 以及相关的一整套类库. Mono项目将使开发者开发的.NET应用程序不仅能能在windows平台上运行, 也能在任何支持Mono的平台上运行, 包括Linux, Unix. Mono项目将使大家能开发出各种跨平台的应用程序, 并能极大提高开源领域的开发效率.

这里只做简单介绍,具体的去Google吧..

以上内同均来自网络..

进入主题...

windows下部署nginx+mono+fastCGI部署asp.net网站

下载Nginx:到下载Nginx对应的版本

下载Mono对应平台:下载 Mono..

1,在vs中建立一个asp.net 网站 .就叫nginxSite吧.

2,我下载的是nginx-0.8.54..nginx-0.9.4的在我的 win7上跑不起来..

   解压之后打开conf文件夹下的nginx.conf文件.

   配置主要的几个节点即可:

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 koi8-r;

        #access_log  logs/host.access.log  main;

       location / {
            root  nginxSite;
            #index  index.html index.htm;

            fastcgi_pass  127.0.0.1:8000;
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include fastcgi_params;
        }

        error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   html;
        }
   
         location ~ .*\.aspx$ {
            root       nginxSite;
            fastcgi_pass   127.0.0.1:8000;    
            #fastcgi_index  Default.aspx;  
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include        fastcgi_params;  
        }
     # 静态资源
    location ~ ^/css/ {
    root   C:\nginx\Mono_MVC3;
    expires 4d;
    }

     #设定查看Nginx状态的地址
    location /NginxStatus {
        stub_status on;
        access_log on;
        auth_basic “NginxStatus”;
        auth_basic_user_file conf/htpasswd;
    }

    }

3,配置之后,在命令行下进入D:\Program Files\Mono-2.10\bin>

   输入fastcgi-mono-server4 /socket=tcp:127.0.0.1:8000 /root="C:\nginx\nginxSite" /applications=/:. /multiplex=True /port=8080

   C:\nginx\nginxSite是Nginx下网站的根目录.

   启动服务..

4,在nginx双击nginx.exe 既可以在后台启动服务.

5,在浏览器输入http://127.0.0.1 就可以浏览网站了.

下一篇研究研究在Linux在怎么部署..刚搞好虚拟机..

----------------------------------------

ps:很郁闷一件事..用这种方式部署上的网站与在vs下浏览页面的时候,页面样式不一样..知道 解释下..

posted on 2011-02-24 17:15  小刚qq  阅读(4354)  评论(0编辑  收藏  举报