.NET Core項目部署到Linux(Centos7)(六)發佈.NET Core 項目到Linux

目錄

1.前言

2.環境和軟件的準備

3.建立.NET Core API項目

4.VMware Workstation虛擬機及Centos 7安裝

5.Centos 7安裝.NET Core環境

6.發佈.NET Core項目到Linux

7.啓動和中止.NET Core項目

8.爲.NET Core項目建立Supervisor進程守護監

9.防火牆配置,容許外網或局域網訪問.NET Core站點

10.總結

 

1.打開.NET Core項目,右鍵發佈項目,選取發佈目標,文件夾模式,建立配置文件

 

 

 

 

注意這裏使用的是框架依賴部署模式,由於以前咱們已經安裝了.NET Core環境,這裏就不使用獨立部署模式了html

框架依賴部署:
依賴框架的部署 (FDD) 依賴目標系統上存在共享系統級版本的 .NET Core。 因爲已存在 .NET Core,所以應用在 .NET Core 安裝程序間也是可移植的。 應用僅包含其本身的代碼和任何位於 .NET Core 庫外的第三方依賴項。 FDD 包含可經過在命令行中使用 dotnet 實用程序啓動的 .dll 文件。 例如,dotnet app.dll 就能夠運行一個名爲 app 的應用程序。
對於 FDD,僅部署應用程序和第三方依賴項。 不須要部署 .NET Core,由於應用將使用目標系統上存在的 .NET Core 版本。 這是定目標到 .NET Core 的 .NET Core 和 ASP.NET Core 應用程序的默認部署模型shell

優勢:
①、不須要提早定義 .NET Core 應用將在其上運行的目標操做系統。 由於不管什麼操做系統,.NET Core 的可執行文件和庫都是用通用的 PE 文件格式,所以,不管什麼基礎操做系統,.NET Core 均可執行應用。
②、部署包很小。 只需部署應用及其依賴項,而無需部署 .NET Core 自己。
③、許多應用均可使用相同的 .NET Core 安裝,從而下降了主機系統上磁盤空間和內存使用量。服務器

缺點:
①、僅當主機系統上已安裝你設爲目標的 .NET Core 版本或更高版本時,應用才能運行。
②、若是不瞭解未來版本,.NET Core 運行時和庫可能發生更改。 在極少數狀況下,這可能會更改應用的行爲。app

獨立部署:
獨立部署 (SCD) 不依賴目標系統上存在的共享組件。 全部組件(包括 .NET Core 庫和 .NET Core 運行時)都包含在應用程序中,而且獨立於其餘 .NET Core 應用程序。 SCD 包括一個可執行文件(如 Windows 平臺上名爲 app 的應用程序的 app.exe),它是特定於平臺的 .NET Core 主機的重命名版本,還包括一個 .dll 文件(如 app.dll),而它是實際的應用程序。
對於獨立部署,能夠部署應用和所需的第三方依賴項以及生成應用所使用的 .NET Core 版本。 建立 SCD 不包括各類平臺上的 .NET Core 本機依賴項,所以運行應用前這些依賴項必須已存在框架

優勢:
①、能夠對與應用一塊兒部署的 .NET Core 版本具備單獨的控制權
②、目標系統能夠運行你的 .NET Core 應用,由於你提供的是應用將在其上運行的 .NET Core 版本curl

缺點:
①、因爲 .NET Core 包含在部署包中,所以必須提早選擇爲其生成部署包的目標平臺
②、部署包相對較大,由於須要將 .NET Core 和應用及其第三方依賴項包括在內。
③、向系統部署大量獨立的 .NET Core 應用可能會使用大量磁盤空間,由於每一個應用都會複製 .NET Core 文件測試

 

2.發佈項目

 

 

3.查看Linux的IP信息,根據IP信息,新建Xshell會話,鏈接,輸入Linux的帳戶及密碼

 

#查看本機IP信息
ifconfig -a

 

 

 

4.先安裝lrzsz,而後使用Xshell上傳發布好的項目到Linux服務器

 

#安裝lrzsz
sudo yum -y install lrzsz

#檢查是否安裝lrzsz
rpm -qa lrzsz

 

 

這裏把文件上傳到/var/www文件夾下,因此咱們用命令進到www目錄下url

 

#進入www目錄
cd /var/www

#查看www目錄下的文件
ls

 

在www當前目錄,使用lrzsz的rz命令上傳.NET Core項目,這裏注意要使用sudo或者su去執行,否則會出現文件上傳失敗spa

 

#使用rz命令上傳,選擇要上傳的文件
sudo rz

#查看www目錄下的文件
ls

 

 

 

5.發佈含有文件夾的.NET Core項目

 

 

 

如上圖,包含了config文件夾,按照步驟4,只能先執行建立mkdir config,而後在進入config目錄上傳裏面的文件操作系統

這裏提供另一種方法,首先在7-Zip(https://www.7-zip.org/)下載壓縮軟件,安裝好以後,把發佈的項目壓縮成tar

 

 

 

壓縮好以後,咱們在Xshell執行如下命令進行上傳,解壓等操做

 

#進入www站點目錄
cd /var/www

#rz,選擇壓縮好的publish.tar
sudo rz

#解壓縮文件
sudo tar xvf publish.tar

#刪除壓縮文件
sudo rm -f publish.tar

#測試站點
curl http://localhost/weatherforecast

 

相關文章
相關標籤/搜索