利用mono實現ASP.NET跨平台和nginx負載均衡

2022年09月27日21:30:23 熱門 1415

寫代碼也要讀書,愛全棧,更愛生活。每日更新原創IT編程技術及日常實用技術文章。

我們的目標是:玩得轉伺服器Web開發,搞得懂移動端,電腦客戶端更是不在話下。

更多原創教程,請點擊上方關注或微信公眾平台:做全棧攻城獅。

技術交流群:高手群:538742639新手群: 572577013

本文章由做全棧攻城獅,原創首發,如有轉載,請聲明出處。

WX:aiquanzhan

作為.net程序員大部分接觸的是windows伺服器。因為作為微軟原生的操作系統對.net的支持性是最好的。

有時,我們也會把Asp,Net項目移植到linx平台,那應該如何在其他操作系統中使用ASP.NET呢?mono或許是不錯的選擇。Mono是一個致力於在linux上搭建.net環境的開源項目。當然發展,Mono支持的操作系統有:windos、linux、mac os。可謂幾乎包含所有系列系統。同時這也是主流的一項選擇,所以你可以大膽使用Mono實現.net的跨平台。

同時,對於高並發的訪問請求,一台伺服器難以維持正常的開銷,可以增加一台伺服器來分擔請求。nginx是目前主流的負載均衡伺服器。因為Nginx採用C進行編寫,系統開銷小。所以不必考慮nginx另外的開銷。架構框圖如圖:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞1.用戶使用瀏覽器訪問網站,請求到Nginx伺服器。

2.Nginx伺服器獲取到請求,根據內部演算法分配最優線路(其實就是找一個不忙的伺服器),然後代理到Web伺服器。

我們將通過兩個實例配置,完成Nginx+Mono和Nginx+IIS的兩種負載均衡策略。如圖:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞

下面的以windows系統為例進行安裝。windows版本作為移植版本,相較於linux來說稍有欠缺。

一、Nginx安裝

下載地址:http://nginx.org/。

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞
利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞下載下來就好了。一個壓縮包

解壓壓縮包到硬碟,一般解壓到非系統盤。我這邊解壓到D:\nginx。如圖:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞進行Nginx伺服器的配置。用記事本打開conf目錄下的nginx.conf。

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞配置並啟用:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞自己可以根據自己的需求更改檢測埠,我這裡更改為8081.返回上層目錄:用命令行打開,執行如下語句:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞命令:

start nginx

然後訪問。127.0.0.1:埠號。例如我的是:127.0.0.1:8081.

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞如圖,則代表nginx開啟成功。

二、Mono安裝:

下載地址:http://www.mono-project.com/download/

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞按照操作系統進行選擇下載就可以了。

直接雙擊exe安裝包:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞

全選所有:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞寫個埠,一定要記住這個埠,下面會用到:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞Mono其實就是相當於一個Web伺服器。下面我們把Nginx轉發到Mono下交由mono進行處理。

三、Nginx+Mono配置

首先建立一個aspx頁面:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞代碼如上。

打開Nginx配置。配置為轉發到mono執行:在server中location下面添加:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞
利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞
利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞詳細代碼:

location ~.*\.aspx$ {

rootaspx;

fastcgi_pass 127.0.0.1:8080;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

include fastcgi_params;

}

配置完畢保存,關閉nginx然後開啟:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞關強制閉命令:

taskkill /F /IM nginx.exe > nul

進入Mono執行命令,啟動mono:

打開開始菜單,找到其中command軟體:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞執行命令開啟:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞命令:

fastcgi-mono-server4 /socket=tcp:127.0.0.1:8080 /root="D:\nginx\aspx" /applications=/:. /multiplex=True /port=8081

其中socket表示mono的埠,port表示Nginx埠。

此時訪問:頁面如圖所示,則表示配置成功。

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞

Nginx+Mono配置完成
四、Nginx+IIS

作為Asp.Net程序員還是IIS比較熟悉,下面一個實例來簡單配置到IIS中。繼續打開Nginx配置:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞記得注釋上方的location。當然mono的配置當然是沒有的哈。

此時我們關閉並重新開啟Nginx服務。

打開Nginx地址如圖:

利用mono實現ASP.NET跨平台和nginx負載均衡 - 天天要聞則Nginx+IIS配置成功。

熱門分類資訊推薦

曾小賢的上司Lisa榕,現實中不僅才貌雙全,還嫁給了CEO - 天天要聞

曾小賢的上司Lisa榕,現實中不僅才貌雙全,還嫁給了CEO

曾小賢的上司Lisa榕,現實中不僅才貌雙全,還嫁給了CEO雖然說《愛情公寓》這部劇在劇情上充滿了爭議,但是一定程度上,這部劇也是很多人的回憶,是伴隨了一代人的青春回憶,而且劇中的很多角色都成為了經典,他們的口頭禪也一直被拿來玩兒梗。
Lisa榕做主持多年沒紅,被陳赫拉進愛情公寓爆紅,如今怎樣了 - 天天要聞

Lisa榕做主持多年沒紅,被陳赫拉進愛情公寓爆紅,如今怎樣了

談到《愛情公寓》這部火爆一時的歡樂喜劇,大家肯定都不陌生。不知道大家是否還記得《愛情公寓》中那個把曾小賢治得服服帖帖的女上司Lisa榕,現實中的她名叫榕榕,和劇中的形象也判若兩人。1981年出生在遼寧瀋陽的榕榕,畢業於上海戲劇學院,後來成為了上海東方傳媒集團有限公司的一名主持人。