如何在Linux服務器上部署.Net Core?
如何在Linux服務器上部署.Net Core?.Net Core是.Net Framework的新一代版本,對于新手來說,將.Net Core部署在Linux服務器上是一件相當困難的事,為了幫助大家解決困難,今天小編要給大家分享如何在Linux服務器上部署.Net Core?
1、簡介
一直以來,微軟只對自家平臺提供.NET支持,這樣等于讓這個“理論上”可以跨平臺的框架在Linux和macOS上的支持只能由第三方項目提供(比如Mono .NET)。直到微軟推出完全開源的.NET Core。這個開源的平臺兼容.NET Standard,并且能在Windows、Linux和MacOS上提供完全一致的API。雖然這個小巧的.NET框架只是標準.NET的一個子集,但是已經相當強大了。
一方面,這個小巧的框架可以讓某些功能性應用同時運行在三個平臺上(就像某些功能性的Python腳本一樣),另一方面,這也可以讓服務器運維人員將ASP .NET服務程序部署在Linux服務器上(特別是對于運行Windows Server較為吃力的服務器)。
2、部署.NET Core
由于我沒有可用的macOS設備,我將僅用Linux(服務器)作示范。我作示范的服務器是CentOS7操作系統。
SSH連接至服務器,安裝.NET Core的依賴項:
然后從微軟官方獲取.NET Core的主程序:
如果你的服務器不能正確訪問這個地址,你可能需要手動訪問后面的地址,下載完畢之后,用任意一種方法傳遞進服務器,并命名為dotnet.tar.gz。
執行指令將組件解壓至指定的位置:
創建鏈接以在任何路徑下直接引用dotnet指令:
至此,.NET Core框架應該就在你的服務器上搭建好了。
3、嘗試部署一個ASP .NET服務程序
在本地計算機上,修改Visual Studio功能,確保這一項是被安裝的:

啟動Visual Studio,新建一個ASP .NET Core項目:

類型選擇Web應用程序。我們不對示例作太大的修改,僅僅是為了演示ASP .NET運行于.NET Core的狀況。在項目資源管理器內打開Program.cs,依然是熟悉的C#代碼:

為了能正常運行,我們稍稍修改代碼,讓host的對象初始化器看起來是這個樣子:

保存工程,將整個解決方案上傳至服務器。再次連接服務器,導航到你存放工程文件的目錄下,執行指令:
該指令指揮.NET Core恢復這個工程引用的包,耐心等待指令執行完畢。
接著,執行指令:
這條指令將使.NET Core編譯并運行這個工程。控制臺沒有錯誤信息并產生類似輸出,你的ASP .NET Core應用程序就應該在正確運行了:
試著在任意設備上訪問你服務器的IP地址(或者域名),如果能正確加載默認頁面,你的.NET Core環境就算部署完畢了:

這個.NET框架只是.NET標準的一個子集,不一定能100%兼容一個復雜的ASP .NET服務程序。但是利用這個框架,你可以把服務器切換至Linux系統,卻仍然采用ASP .NET作為服務程序的具體實現方法。你也不必為了調試運行于Linux的服務程序而專門去配置一個Linux工作環境——因為.NET Core也可以運行在Windows上,Visual Studio本身就支持使用IIS Express來本地調試一個ASP .NET Core應用程序。
不知道如何將.NET Core部署在Linux服務器上的伙伴,可以參照教程一步步操作,希望該教程能幫助到大家。
相關文章:
1. 統信UOS怎么增加刪除字體? UOS系統添加移除字體的技巧2. 收到Win11推送了嗎?微軟要對Win11首個正式版強制升級了!3. 蘋果macOS Ventura 13.3 首個 Public Beta 測試版本發布4. 請盡快升級: Ubuntu 18.04 LTS 和 Linux Mint 19.x 發行版將于 4 月停止支持5. Win11Beta預覽版22621.1180和22623.1180發布 附KB5022363內容匯總6. 微軟規劃提升 Win10 / Win11圖形和音頻驅動質量7. Win11 USB接口不能用怎么辦? Win11電腦USB接口沒反應的解決辦法8. Ubuntu 20.04.2 發布,包括中國版的優麒麟9. mac文本怎么添加快捷短語? mac電腦添加快捷文本短語的技巧10. 關于linux(ubuntu 18.04) 中idea操作數據庫失敗的問題