寫代碼也要讀書,愛全棧,更愛生活。每日更新原創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另外的開銷。架構框圖如圖:
1.用戶使用瀏覽器訪問網站,請求到Nginx服務器。
2.Nginx服務器獲取到請求,根據內部算法分配最優線路(其實就是找一個不忙的服務器),然後代理到Web服務器。
我們將通過兩個實例配置,完成Nginx+Mono和Nginx+IIS的兩種負載均衡策略。如圖:
下面的以windows系統為例進行安裝。windows版本作為移植版本,相較於linux來說稍有欠缺。
一、Nginx安裝
下載地址:http://nginx.org/。
下載下來就好了。一個壓縮包。
解壓壓縮包到硬盤,一般解壓到非系統盤。我這邊解壓到D:\nginx。如圖:
進行Nginx服務器的配置。用記事本打開conf目錄下的nginx.conf。
配置並啟用:
自己可以根據自己的需求更改檢測端口,我這裡更改為8081.返回上層目錄:用命令行打開,執行如下語句:
命令:
start nginx
然後訪問。127.0.0.1:端口號。例如我的是:127.0.0.1:8081.
如圖,則代表nginx開啟成功。
二、Mono安裝:
下載地址:http://www.mono-project.com/download/
按照操作系統進行選擇下載就可以了。
直接雙擊exe安裝包:
全選所有:
寫個端口,一定要記住這個端口,下面會用到:
Mono其實就是相當於一個Web服務器。下面我們把Nginx轉發到Mono下交由mono進行處理。
三、Nginx+Mono配置
首先建立一個aspx頁面:
代碼如上。
打開Nginx配置。配置為轉發到mono執行:在server中location下面添加:詳細代碼:
location ~.*\.aspx$ {
rootaspx;
fastcgi_pass 127.0.0.1:8080;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
配置完畢保存,關閉nginx然後開啟:
關強制閉命令:
taskkill /F /IM nginx.exe > nul
進入Mono執行命令,啟動mono:
打開開始菜單,找到其中command軟件:
執行命令開啟:
命令:
fastcgi-mono-server4 /socket=tcp:127.0.0.1:8080 /root="D:\nginx\aspx" /applications=/:. /multiplex=True /port=8081
其中socket表示mono的端口,port表示Nginx端口。
此時訪問:頁面如圖所示,則表示配置成功。
Nginx+Mono配置完成
四、Nginx+IIS
作為Asp.Net程序員還是IIS比較熟悉,下面一個實例來簡單配置到IIS中。繼續打開Nginx配置:
記得注釋上方的location。當然mono的配置當然是沒有的哈。
此時我們關閉並重新開啟Nginx服務。
打開Nginx地址如圖:
則Nginx+IIS配置成功。