NET MVC接口服務(wù)如何運行在容器中

  有些公司內(nèi)部存在一些NET項目,而公司服務(wù)器后期都換成了Linux宦言,若單純?yōu)檫@一個項目占用一臺Windows服務(wù)器顯得極其浪費险绘,因此需要將NET項目嵌入到Linux服務(wù)器中,為了后期方便遷移和運維最好是Docker容器中運行衬潦。?

  新的.net core都已經(jīng)支持docker斤蔓,手頭有一些原來開發(fā)的asp.net舊項目,用的asp.net mvc開發(fā)的镀岛,跑在.net formwork 4.6上弦牡。

  我們的web項目要想運行,需要有一個像IIS一種的服務(wù)器組件漂羊,在這里有兩層意思:

1.Net接口服務(wù)運行在Linux系統(tǒng)上

2.Net接口服務(wù)打包成鏡像運行在Docker容器中

Net接口服務(wù)運行在Linux系統(tǒng)上

  在linux里我們一般使用jexus來實現(xiàn)這個功能驾锰,用docker鏡像的話應(yīng)該有mono還要有jexus的基礎(chǔ)鏡像集成,也可以使用現(xiàn)成的鏡像azraelrabbit/monupw走越。

  Mono包含了一個C#語言的編譯器椭豫,一個CLR的運行時和一組類庫,并且實現(xiàn)了ADO.NET和ASP.NET旨指,能夠使的開發(fā)人員在Linux下用C#開發(fā)程序赏酥。

  Jexus即Jexus Web Server,簡稱JWS是在linux平臺上的一款A(yù)SP.NET WEB服務(wù)器谆构,Jexus并非全部由mono的.NET組件構(gòu)成裸扶,非常巧妙的大量采用了Linux/Unix本身的優(yōu)秀特性,從代碼層面保證了Jexus的性能優(yōu)勢搬素,同時Jexus的框架特征也為 高性能提供了基礎(chǔ)保證呵晨。

  需要注意的是Mono需要配置GDI+兼容API的庫Libgdiplus。

yum?-y?install?gcc?gcc-c++?bison?pkgconfig?glib2-devel?gettext?make?libpng-devel?libjpeg-devel?libtiff-devel?libexif-devel?giflib-devel?libX11-devel?freetype-devel?fontconfig-devel? cairo-devel

備注:可能電腦已經(jīng)安裝了這些文件熬尺,可用rpm?-qa?libexif*命令查看摸屠,但是這里為了確保萬無一失,直接全部執(zhí)行粱哼。

如何安裝Mono和Jexus請參考其他園友寫的比較仔細的教程季二。

部署ASP.NET MVC項目

  jexus安裝的路徑下/usr/jexus下有一個siteconf文件夾,這里面的每一個文件都 是一個網(wǎng)站的配置文件揭措,每一個配置文件就代表一個網(wǎng)站戒傻,在(/usr/jexus/siteconf/)中税手,就已經(jīng)有一個默認的網(wǎng)站配置文件,文件名 為:"default"需纳;你可以修改這個配置文件芦倒,也可以將這個配置文件賦值并修改為一個新的站點,更改端口不翩、發(fā)布文件虛擬根路徑兵扬。

  將編譯的文件上傳至此目錄。

  重新啟動Jexus就可以通過ip端口訪問口蝠,還要注意端口是否被防火墻攔截器钟,需要放開或關(guān)閉防火墻。

注意:

桌面的net程序是無法通過此方式使用的妙蔗,會異常傲霸。

Linux下是區(qū)分大小寫的。

Docker部署asp.net mvc站點

  用Docker部署net程序相對容易得多眉反,首先需要Docker環(huán)境昙啄,這個不用說,再拉取已經(jīng)內(nèi)建了mono?和jexus?服務(wù)器的?docker鏡像?

docker?pull?azraelrabbit/monupw

  運行一個端點寸五,啟動對應(yīng)的服務(wù)端口22:?sshd,?80:?jexus梳凛,ssh工具連接主機的 2022?端口,即可連接到這個已啟動的容器內(nèi),2080主機端口為映射的站點端口梳杏。

docker?run?--name cmsnet -d?-p 2022:22?-p 2080:80?-v?/mydata:/data?azraelrabbit/monupw

  將你的mvc工程或asp.net工程復(fù)制到?/mydata路徑下.?并在ssh到容器里用sudo?重啟一下jws?.?即可訪問這個容器內(nèi)的站點了韧拒,或者重啟下整個容器也可以。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末十性,一起剝皮案震驚了整個濱河市叛溢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌劲适,老刑警劉巖雇初,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異减响,居然都是意外死亡,警方通過查閱死者的電腦和手機郭怪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門支示,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鄙才,你說我怎么就攤上這事颂鸿。” “怎么了攒庵?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵嘴纺,是天一觀的道長败晴。 經(jīng)常有香客問我,道長栽渴,這世上最難降的妖魔是什么尖坤? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮闲擦,結(jié)果婚禮上慢味,老公的妹妹穿的比我還像新娘。我一直安慰自己墅冷,他們只是感情好纯路,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寞忿,像睡著了一般驰唬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腔彰,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天叫编,我揣著相機與錄音,去河邊找鬼萍桌。 笑死宵溅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的上炎。 我是一名探鬼主播恃逻,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼藕施!你這毒婦竟也來了寇损?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤裳食,失蹤者是張志新(化名)和其女友劉穎矛市,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诲祸,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡浊吏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了救氯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片找田。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖着憨,靈堂內(nèi)的尸體忽然破棺而出墩衙,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布漆改,位于F島的核電站心铃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏挫剑。R本人自食惡果不足惜去扣,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望暮顺。 院中可真熱鬧厅篓,春花似錦、人聲如沸捶码。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惫恼。三九已至档押,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祈纯,已是汗流浹背令宿。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腕窥,地道東北人粒没。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像簇爆,于是被迫代替她去往敵國和親癞松。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容