您的位置:首页 > 运维架构 > Nginx

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

2011-02-24 17:15 603 查看

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下浏览页面的时候,页面样式不一样..知道 解释下..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: