寫代碼也要讀書,愛全棧扼菠,更愛生活摄杂。每日更新原創(chuàng)IT編程技術(shù)及日常實(shí)用技術(shù)文章。
我們的目標(biāo)是:玩得轉(zhuǎn)服務(wù)器Web開發(fā)循榆,搞得懂移動(dòng)端析恢,電腦客戶端更是不在話下。
更多原創(chuàng)教程秧饮,請(qǐng)點(diǎn)擊上方關(guān)注或微信公眾平臺(tái):做全棧攻城獅映挂。
技術(shù)交流群:高手群:538742639新手群: 572577013
本文章由做全棧攻城獅,原創(chuàng)首發(fā)盗尸,如有轉(zhuǎn)載柑船,請(qǐng)聲明出處。
WX:aiquanzhan
作為.net程序員大部分接觸的是windows服務(wù)器泼各。因?yàn)樽鳛槲④浽牟僮飨到y(tǒng)對(duì).net的支持性是最好的鞍时。
有時(shí),我們也會(huì)把Asp,Net項(xiàng)目移植到linx平臺(tái),那應(yīng)該如何在其他操作系統(tǒng)中使用Asp.Net呢逆巍?Mono或許是不錯(cuò)的選擇及塘。Mono是一個(gè)致力于在linux上搭建.net環(huán)境的開源項(xiàng)目。當(dāng)然發(fā)展锐极,Mono支持的操作系統(tǒng)有:windos笙僚、linux、mac os灵再±卟悖可謂幾乎包含所有系列系統(tǒng)。同時(shí)這也是主流的一項(xiàng)選擇翎迁,所以你可以大膽使用Mono實(shí)現(xiàn).net的跨平臺(tái)栋猖。
同時(shí),對(duì)于高并發(fā)的訪問請(qǐng)求鸳兽,一臺(tái)服務(wù)器難以維持正常的開銷掂铐,可以增加一臺(tái)服務(wù)器來分擔(dān)請(qǐng)求。Nginx是目前主流的負(fù)載均衡服務(wù)器揍异。因?yàn)镹ginx采用C進(jìn)行編寫全陨,系統(tǒng)開銷小。所以不必考慮nginx另外的開銷衷掷。架構(gòu)框圖如圖:
1.用戶使用瀏覽器訪問網(wǎng)站辱姨,請(qǐng)求到Nginx服務(wù)器。
2.Nginx服務(wù)器獲取到請(qǐng)求戚嗅,根據(jù)內(nèi)部算法分配最優(yōu)線路(其實(shí)就是找一個(gè)不忙的服務(wù)器)雨涛,然后代理到Web服務(wù)器。
我們將通過兩個(gè)實(shí)例配置懦胞,完成Nginx+Mono和Nginx+IIS的兩種負(fù)載均衡策略替久。如圖:
下面的以windows系統(tǒng)為例進(jìn)行安裝。windows版本作為移植版本躏尉,相較于linux來說稍有欠缺蚯根。
一、Nginx安裝
下載地址:http://nginx.org/胀糜。
下載下來就好了颅拦。一個(gè)壓縮包。
解壓壓縮包到硬盤教藻,一般解壓到非系統(tǒng)盤距帅。我這邊解壓到D:\nginx。如圖:
進(jìn)行Nginx服務(wù)器的配置括堤。用記事本打開conf目錄下的nginx.conf碌秸。
配置并啟用:
自己可以根據(jù)自己的需求更改檢測(cè)端口绍移,我這里更改為8081.返回上層目錄:用命令行打開,執(zhí)行如下語句:
命令:
start nginx
然后訪問讥电。127.0.0.1:端口號(hào)登夫。例如我的是:127.0.0.1:8081.
如圖,則代表nginx開啟成功允趟。
二、Mono安裝:
下載地址:http://www.mono-project.com/download/
按照操作系統(tǒng)進(jìn)行選擇下載就可以了鸦致。
直接雙擊exe安裝包:
全選所有:
寫個(gè)端口潮剪,一定要記住這個(gè)端口,下面會(huì)用到:
Mono其實(shí)就是相當(dāng)于一個(gè)Web服務(wù)器分唾。下面我們把Nginx轉(zhuǎn)發(fā)到Mono下交由mono進(jìn)行處理抗碰。
三、Nginx+Mono配置
首先建立一個(gè)aspx頁面:
代碼如上绽乔。
打開Nginx配置弧蝇。配置為轉(zhuǎn)發(fā)到mono執(zhí)行:在server中l(wèi)ocation下面添加:
詳細(xì)代碼:
location ~.*\.aspx$ {
rootaspx;
fastcgi_pass 127.0.0.1:8080;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
配置完畢保存,關(guān)閉nginx然后開啟:
關(guān)強(qiáng)制閉命令:
taskkill /F /IM nginx.exe > nul
進(jìn)入Mono執(zhí)行命令折砸,啟動(dòng)mono:
打開開始菜單看疗,找到其中command軟件:
執(zhí)行命令開啟:
命令:
fastcgi-mono-server4 /socket=tcp:127.0.0.1:8080 /root="D:\nginx\aspx" /applications=/:. /multiplex=True /port=8081
其中socket表示mono的端口,port表示Nginx端口睦授。
此時(shí)訪問:頁面如圖所示两芳,則表示配置成功。
Nginx+Mono配置完成
四去枷、Nginx+IIS
作為Asp.Net程序員還是IIS比較熟悉怖辆,下面一個(gè)實(shí)例來簡單配置到IIS中。繼續(xù)打開Nginx配置:
記得注釋上方的location删顶。當(dāng)然mono的配置當(dāng)然是沒有的哈竖螃。
此時(shí)我們關(guān)閉并重新開啟Nginx服務(wù)。
打開Nginx地址如圖:
則Nginx+IIS配置成功逗余。