【轉】windows下nginx+mono+fastCGI部署asp.net網站

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

1,什麼是nginx

簡介
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 爲俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發佈。儘管仍是測試版,可是,Nginx 已經由於它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名了。更多的請見官方wiki:http://wiki.codemongers.com/NginxChshtml

Nginx的優勢
nginx作爲HTTP服務器,有如下幾項基本特性: nginx

  • 處理靜態文件,索引文件以及自動索引; 
    反向代理加速(無緩存),簡單的負載均衡和容錯; 
    FastCGI,簡單的負載均衡和容錯; 
    模塊化的結構。過濾器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI過濾器中,到同一個 proxy 或者 FastCGI 的多個子請求併發處理; 
    SSL 和 TLS SNI 支持;

簡單的就這些 ..舉得你們去Google吧windows

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吧..併發

以上內同均來自網絡..app

進入主題...

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 就能夠瀏覽網站了

相關文章
相關標籤/搜索