.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環境,這里就不使用獨立部署模式了

框架依賴部署:
依賴框架的部署 (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 應用程序的默認部署模型

優點:
①、不需要提前定義 .NET Core 應用將在其上運行的目標操作系統。 因為無論什么操作系統,.NET Core 的可執行文件和庫都是用通用的 PE 文件格式,因此,無論什么基礎操作系統,.NET Core 都可執行應用。
②、部署包很小。 只需部署應用及其依賴項,而無需部署 .NET Core 本身。
③、許多應用都可使用相同的 .NET Core 安裝,從而降低了主機系統上磁盤空間和內存使用量。

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

獨立部署:
獨立部署 (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 版本

缺點:
①、由於 .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目錄下

 

#進入var目錄
cd /var

#創建www文件夾
sudo mdkir www

#進入WWW目錄
cd www

#查看www目錄下的文件
ls

 

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

 

#使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM