在全Linux環(huán)境去開發(fā)、運行、部署.NET Core項目!
? ? ?“?2016年.NET Core首個正式版本問世,如今已發(fā)布到了.NET Core3.1,再有2個月.NET5也將如約而至,跨平臺開發(fā)已經(jīng)快5年,然而很多人卻還只是在Windows上用Visual Studio + SQL Server去做.NET Core跨平臺開發(fā),欠缺對Linux的認(rèn)知。這次.NET社區(qū)邀請大咖為諸位做一次分享,在全Linux環(huán)境去開發(fā)、運行、部署.NET Core項目!讓我們一起擁抱Linux吧!”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文:Daili-Chen??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 來源:DotNetdaily??
一起擁抱Linux
Linux優(yōu)勢
Linux是完全開源的,輕松查看源碼并修改和定制,完全免費的屬性也深得企業(yè)青睞,而且穩(wěn)定性、安全性、靈活性都遠(yuǎn)超Windows服務(wù)器,當(dāng)下全球大量數(shù)據(jù)中心的服務(wù)器已經(jīng)開始向基于 Linux Server 平臺轉(zhuǎn)移。
開源組件
耳熟能詳?shù)母鞣N高并發(fā)組件,Redis、MongoDB、RabbitMQ、Nginx、Kafka等等,都是基于Linux服務(wù)器開發(fā)和發(fā)布的,雖然也為Windows Server提供了安裝版本,但都是閹割版的,版本更新都嚴(yán)重遲滯,像Redis在Windows下的性能表現(xiàn),達(dá)不到Linux下的50%。

Linux大勢所趨
當(dāng)下互聯(lián)網(wǎng)技術(shù)的發(fā)展方向是容器化、K8S、DevOps、云原生,90%的工具環(huán)境都是基于Linux的,微軟都出.NET Core去適配Linux,還推出了VS Code的開發(fā)工具,甚至連SQL Server都有Linux版本了。
全Linux開發(fā)前的準(zhǔn)備工作
.NET Core發(fā)布4年多了,在Linux下開發(fā)運行部署都已經(jīng)有完整的解決方案了,在開始實戰(zhàn)前我們需要做一系列準(zhǔn)備工作,其中所提工具和環(huán)境在文末也有整理,大家可自取。
服務(wù)器準(zhǔn)備
不習(xí)慣雙系統(tǒng)的小伙伴兒,可以用VMware workstation弄個虛擬機(jī),Linux操作系統(tǒng)繁多,這里我推薦最新版本CentOS8。開始可能不太習(xí)慣,用用就好了。
開發(fā)環(huán)境準(zhǔn)備
當(dāng)然是Visual Studio Code,微軟出品必屬精品,然后是.NET Core3.1的環(huán)境。數(shù)據(jù)庫我推薦用MySQL標(biāo)配,不要試圖用SQL Server for Linux了。

項目框架選擇
這個跟Window下開發(fā)是沒啥區(qū)別的,這次選用的是前后分離架構(gòu),前端Vue,后端是Core WebApi,O/RM選擇的輕量級Dapper,連接MySQL也方便。
部署運行
用Docker容器部署的Nginx+WebApi實例集群,然后MySQL和Redis就直接安裝在Linux的宿主機(jī)上面,一個小項目就這樣構(gòu)建起來了。
NET Core全Linux開發(fā)分享會
在做完上述準(zhǔn)備工作后,即可以開始全Linux環(huán)境去開發(fā)、運行、部署.NET Core項目。
在本次分享中,我會演示整套的環(huán)境安裝,完整的項目手寫,包括后續(xù)的部署上線過程,現(xiàn)場踩坑(大小寫坑、路徑坑、部署坑)等,還會給梳理下.NET Framework項目遷移到.NET Core,Windows環(huán)境到Linux環(huán)境遷移的注意點,希望能給大家一點幫助!
