在樹莓派上借助Mono + Jexus 布署 .Net 4.0 WebForm應(yīng)用

介紹

樹莓派

樹莓派是一種微型電腦赋荆,不到300元的成本就可以擁有一個4核1G的低功耗Linux環(huán)境笋妥,并且自帶了40針I(yè)O窄潭,HDMI,WIFI月帝,USB嚷辅,100M網(wǎng)卡距误,SPI顯示屏接口。

樹莓派

Mono

Mono是一個由Xamarin公司所主持的自由開放源代碼項目攘乒。 該項目的目標(biāo)是創(chuàng)建一系列匹配ECMA標(biāo)準(zhǔn)(Ecma-334和Ecma-335)的.NET工具则酝,包括C#編譯器和通用語言架構(gòu)沽讹。

與微軟的.NET Framework(共通語言運行平臺)不同,Mono項目不僅可以運行于Windows系統(tǒng)上蝠检,還可以運行于Linux叹谁,F(xiàn)reeBSD乘盖,Unix订框,OS X和Solaris等系統(tǒng)上。

所以衩侥,我們要想在樹莓派上運行WebForm應(yīng)用矛物,主要就得靠它了履羞。

Jexus

Jexus是一款Linux平臺上的高性能WEB服務(wù)器和負(fù)載均衡網(wǎng)關(guān),以支持ASP.NET、ASP.NET CORE雄卷、PHP為特色蛤售,同時具備反向代理、入侵檢測等重要功能揣钦∧穑可以這樣說炒嘲,Jexus是.NET匈庭、.NET CORE跨平臺的最優(yōu)秀的宿主服務(wù)器阱持,如果我們認(rèn)為它是Linux平臺的IIS魔熏,這并不為過,因為镶骗,Jexus不但非匙仪希快,而且擁有IIS和其它Web服務(wù)器所不具備的高度的安全性此蜈,這是政府機構(gòu)和重要企業(yè)對web服務(wù)器最必要也是最重要的品質(zhì)需求裆赵。

Jexus既是免費軟件跺嗽,也是自由軟件,你可以自由發(fā)布植兰、自由集成楣导、自由分發(fā)畜挨,你擁用完整的使用權(quán)。

實驗材料

實驗過程

安裝Mono

確認(rèn)Raspbian版本毡咏,我的是8.0

lsb_release -a
##################################
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:    8.0
Codename:   jessie

進入MONO官網(wǎng)呕缭,按相關(guān)指引操作進行安裝臊旭。

9.x

sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

8.x

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/debian stable-raspbianjessie main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

執(zhí)行安裝

sudo apt install mono-devel

驗證安裝
1离熏、創(chuàng)建/home/test目錄,并進入目錄
2钻蔑、創(chuàng)建/home/test/Program.cs文件奸鸯,寫入以下代碼

using System;
 
public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine ("Hello Mono World");
    }
}

3娄涩、編譯csc Program.csmcs Program.cs
4蓄拣、執(zhí)行mono Program.exe

測試

安裝Jexus

下載ARM版球恤,解壓并安裝(注意:云服務(wù)器或PC裝請下載對應(yīng)的其它版本,不要安裝ARM版

cd /home
wget https://www.linuxdot.net/down/jexus-5.8.3-arm.tar.gz
tar xzvf jexus-5.8.3-arm.tar.gz
cd jexus-5.8.3-arm
./install

安裝完成

root@mc-server:/home/jexus-5.8.3-arm# ./install
Installed /usr/jexus/jxAspx.dll into the gac (/usr/lib/mono/gac)
Installed /usr/jexus/jxHost.dll into the gac (/usr/lib/mono/gac)
OK, Jexus web server has been installed to '/usr/jexus'.

默認(rèn)的配置在/usr/jexus/siteconf下堪置,是一個指向/var/www/default/目錄的網(wǎng)站舀锨。我們在此目錄下編寫一個測試頁面default.aspx宛逗,輸出當(dāng)時的日期與時間。

<%@ Page Language="C#" %>
<%=DateTime.Now%>

在樹莓派上運行/usr/jexus/jws start

root@mc-server:/home# /usr/jexus/jws start
Starting ... OK

查看一下本機的 IP地址

root@mc-server:/usr/jexus# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.89  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::dba:92f0:f625:2fc9  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a3:15:86  txqueuelen 1000  (Ethernet)
        RX packets 2082  bytes 513167 (501.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 773  bytes 94248 (92.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在瀏覽器輸入http://192.168.10.89碑诉,觀察效果

image.png

延伸閱讀:在樹莓派上使Jexus以服務(wù)運行、開機自啟

附錄

mono安裝的其它選擇

mono-devel should be installed to compile code.

編譯開發(fā)環(huán)境安裝德挣,可以在linux下編寫、編譯.net 應(yīng)用程序

mono-complete should be installed to install everything - this should cover most cases of "assembly not found" errors.

完整安裝番挺,可以解決某些情況下出現(xiàn)“未找到程序集”的錯誤 玄柏。

mono-dbg should be installed to get debugging symbols for framework libraries - allowing you to get line numbers in stack traces.

調(diào)試符號,安裝后瀑晒,在錯誤信息的StackTrace中可以顯示行號苔悦。

referenceassemblies-pcl should be installed for PCL compilation support - this will resolve most cases of "Framework not installed: .NETPortable" errors during software compilation.

可以解決某些情況下出現(xiàn)“Framework not installed: .NETPortable”的錯誤 椎咧。
ca-certificates-mono should be installed to get SSL certificates for HTTPS connections. Install this package if you run into trouble making HTTPS connections.

mono-xsp4 should be installed for running ASP.NET applications.

支持Asp.net的安裝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蟋座,一起剝皮案震驚了整個濱河市蜈七,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌飒硅,老刑警劉巖三娩,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雀监,死亡現(xiàn)場離奇詭異会前,居然都是意外死亡匾竿,警方通過查閱死者的電腦和手機岭妖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來假夺,“玉大人已卷,你說我怎么就攤上這事〔嗾海” “怎么了闺魏?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵析桥,是天一觀的道長。 經(jīng)常有香客問我埋虹,道長搔课,這世上最難降的妖魔是什么爬泥? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任袍啡,我火速辦了婚禮却桶,結(jié)果婚禮上颖系,老公的妹妹穿的比我還像新娘。我一直安慰自己信粮,他們只是感情好偷拔,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布莲绰。 她就那樣靜靜地躺著蛤签,像睡著了一般震肮。 火紅的嫁衣襯著肌膚如雪戳晌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天疫向,我揣著相機與錄音搔驼,去河邊找鬼舌涨。 笑死,一個胖子當(dāng)著我的面吹牛扔字,可吹牛的內(nèi)容都是我干的囊嘉。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼革为,長吁一口氣:“原來是場噩夢啊……” “哼哗伯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起篷角,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤焊刹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恳蹲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虐块,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年嘉蕾,在試婚紗的時候發(fā)現(xiàn)自己被綠了贺奠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挂据。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡眉孩,死狀恐怖巴柿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情袁波,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布该面,位于F島的核電站题造,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏淮悼。R本人自食惡果不足惜钉汗,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧显拜,春花似錦、人聲如沸譬淳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽徘铝。三九已至场晶,卻和暖如春揭北,著一層夾襖步出監(jiān)牢的瞬間恨樟,已是汗流浹背缩多。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冒嫡,地道東北人月腋。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓穆碎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子褂策,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

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

  • Awesome DotNet溪猿,這又是一個 Awesome XXX 系列的資源整理,由 quozd 發(fā)起和維護媳荒。內(nèi)容...
    小明yz閱讀 3,686評論 0 47
  • 北風(fēng)像遠(yuǎn)處的飛機一樣轟然著陸 我偶爾吟誦起坎坷不平的詩句 青藍(lán)的天空艱難地吞咽著烏云 只需幾滴雨就能解悶 兩歲的女...
    樸二雄閱讀 141評論 0 0
  • 張清的日精進第194天 帶領(lǐng)綜合事業(yè)部利用高效主導(dǎo)模式,互生各崗位職責(zé)及銜接步驟。 一個半小時酬荞,四個部門,五個崗位...
    kiyoi2017閱讀 215評論 0 2
  • “人活著的時候,只是事情多虐急,不計較日夜。一旦死了,日子便堆砌起來畴椰。” 一、 再過幾個月,外公離開我們便八個年頭了儡首。...
    夏小缺閱讀 203評論 0 0
  • 以前蔬胯,總是會做一個長長的夢,總是會夢到那些還和你在一起的日子涝动。夢境特別真實米愿,你眼神的靈動和你那溫暖的擁抱育苟,總讓我覺...
    貓Mr閱讀 268評論 0 0