歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux教程:如何在Linux服務器上部署.NetCore?

Linux教程:如何在Linux服務器上部署.NetCore?

日期:2017/8/19 9:39:38   编辑:Linux教程

  如何在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的依賴項:

如何在Linux服務器上部署.Net Core?

  然後從微軟官方獲取.NET Core的主程序:

如何在Linux服務器上部署.Net Core?

  如果你的服務器不能正確訪問這個地址,你可能需要手動訪問後面的地址,下載完畢之後,用任意一種方法傳遞進服務器,並命名為dotnet.tar.gz。

  執行指令將組件解壓至指定的位置:

如何在Linux服務器上部署.Net Core?

  創建鏈接以在任何路徑下直接引用dotnet指令:

如何在Linux服務器上部署.Net Core?

  至此,.NET Core框架應該就在你的服務器上搭建好了。

  3、嘗試部署一個ASP .NET服務程序

  在本地計算機上,修改Visual Studio功能,確保這一項是被安裝的:

如何在Linux服務器上部署.Net Core?

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

如何在Linux服務器上部署.Net Core?

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

如何在Linux服務器上部署.Net Core?

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

如何在Linux服務器上部署.Net Core?

  保存工程,將整個解決方案上傳至服務器。再次連接服務器,導航到你存放工程文件的目錄下,執行指令:

如何在Linux服務器上部署.Net Core?

  該指令指揮.NET Core恢復這個工程引用的包,耐心等待指令執行完畢。

  接著,執行指令:

如何在Linux服務器上部署.Net Core?

  這條指令將使.NET Core編譯並運行這個工程。控制台沒有錯誤信息並產生類似輸出,你的ASP .NET Core應用程序就應該在正確運行了:

如何在Linux服務器上部署.Net Core?

  試著在任意設備上訪問你服務器的IP地址(或者域名),如果能正確加載默認頁面,你的.NET Core環境就算部署完畢了:

如何在Linux服務器上部署.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服務器上的伙伴,可以參照教程一步步操作,希望該教程能幫助到大家。

Copyright © Linux教程網 All Rights Reserved