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

原文链接:http://www.cnblogs.com/amityat/archive/2011/08/23/2150153.html

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 就可以浏览网站了