• 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下浏览页面的时候,页面样式不一样..知道 解释下..

  • 相关阅读:
    怎么使用ZYNQ PL的GPIO外设
    找不到串口的问题
    找不到串口的问题
    Enable GPOI on EMIO Interface的XPS14.4中显示为0的问题
    ZEDBOARD移植UCOS II 教程
    Nodejs中的EventEmitter
    JSinArray检查数组中是否存在某个值
    vim split
    NoSQL数据库:Redis适用场景及产品定位
    vim学习笔记
  • 原文地址:https://www.cnblogs.com/amityat/p/2150153.html
Copyright © 2020-2023  润新知