.NET Core項(xiàng)目部署到Linux(Centos7)(六)發(fā)布.Net Core 項(xiàng)目到Linux

目錄

1.前言
2.環(huán)境和軟件的準(zhǔn)備
3.創(chuàng)建.Net Core API項(xiàng)目
4.VMware Workstation虛擬機(jī)及Centos 7安裝
5.Centos 7安裝.Net Core環(huán)境
6.發(fā)布.Net Core 項(xiàng)目到Linux
7.啟動(dòng)和停止.Net Core項(xiàng)目
8.為.Net Core項(xiàng)目創(chuàng)建Supervisor進(jìn)程守護(hù)監(jiān)控
9.防火墻配置,允許外網(wǎng)或局域網(wǎng)訪問.Net Core站點(diǎn)
10.總結(jié)
1.打開.Net Core項(xiàng)目,右鍵發(fā)布項(xiàng)目,選取發(fā)布目標(biāo),文件夾模式,創(chuàng)建配置文件
發(fā)布路徑

選擇發(fā)布方式

高級配置

注意這里使用的是框架依賴部署模式,因?yàn)橹拔覀円呀?jīng)安裝了.Net Core環(huán)境,這里就不使用獨(dú)立部署模式了

框架依賴部署:
依賴框架的部署 (FDD) 依賴目標(biāo)系統(tǒng)上存在共享系統(tǒng)級版本的 .NET Core。 由于已存在 .NET Core,因此應(yīng)用在 .NET Core 安裝程序間也是可移植的。 應(yīng)用僅包含其自己的代碼和任何位于 .NET Core 庫外的第三方依賴項(xiàng)。 FDD 包含可通過在命令行中使用 dotnet 實(shí)用程序啟動(dòng)的 .dll 文件。 例如,dotnet app.dll 就可以運(yùn)行一個(gè)名為 app 的應(yīng)用程序。
對于 FDD,僅部署應(yīng)用程序和第三方依賴項(xiàng)。 不需要部署 .NET Core,因?yàn)閼?yīng)用將使用目標(biāo)系統(tǒng)上存在的 .NET Core 版本。 這是定目標(biāo)到 .NET Core 的 .NET Core 和 ASP.NET Core 應(yīng)用程序的默認(rèn)部署模型

優(yōu)點(diǎn):
①、不需要提前定義 .NET Core 應(yīng)用將在其上運(yùn)行的目標(biāo)操作系統(tǒng)。 因?yàn)闊o論什么操作系統(tǒng),.NET Core 的可執(zhí)行文件和庫都是用通用的 PE 文件格式,因此,無論什么基礎(chǔ)操作系統(tǒng),.NET Core 都可執(zhí)行應(yīng)用。
②、部署包很小。 只需部署應(yīng)用及其依賴項(xiàng),而無需部署 .NET Core 本身。
③、許多應(yīng)用都可使用相同的 .NET Core 安裝,從而降低了主機(jī)系統(tǒng)上磁盤空間和內(nèi)存使用量。

缺點(diǎn):
①、僅當(dāng)主機(jī)系統(tǒng)上已安裝你設(shè)為目標(biāo)的 .NET Core 版本或更高版本時(shí),應(yīng)用才能運(yùn)行。
②、如果不了解將來版本,.NET Core 運(yùn)行時(shí)和庫可能發(fā)生更改。 在極少數(shù)情況下,這可能會(huì)更改應(yīng)用的行為。

獨(dú)立部署:
獨(dú)立部署 (SCD) 不依賴目標(biāo)系統(tǒng)上存在的共享組件。 所有組件(包括 .NET Core 庫和 .NET Core 運(yùn)行時(shí))都包含在應(yīng)用程序中,并且獨(dú)立于其他 .NET Core 應(yīng)用程序。 SCD 包括一個(gè)可執(zhí)行文件(如 Windows 平臺上名為 app 的應(yīng)用程序的 app.exe),它是特定于平臺的 .NET Core 主機(jī)的重命名版本,還包括一個(gè) .dll 文件(如 app.dll),而它是實(shí)際的應(yīng)用程序。
對于獨(dú)立部署,可以部署應(yīng)用和所需的第三方依賴項(xiàng)以及生成應(yīng)用所使用的 .NET Core 版本。 創(chuàng)建 SCD 不包括各種平臺上的 .NET Core 本機(jī)依賴項(xiàng),因此運(yùn)行應(yīng)用前這些依賴項(xiàng)必須已存在

優(yōu)點(diǎn):
①、可以對與應(yīng)用一起部署的 .NET Core 版本具有單獨(dú)的控制權(quán)
②、目標(biāo)系統(tǒng)可以運(yùn)行你的 .NET Core 應(yīng)用,因?yàn)槟闾峁┑氖菓?yīng)用將在其上運(yùn)行的 .NET Core 版本

缺點(diǎn):
①、由于 .NET Core 包含在部署包中,因此必須提前選擇為其生成部署包的目標(biāo)平臺
②、部署包相對較大,因?yàn)樾枰獙?.NET Core 和應(yīng)用及其第三方依賴項(xiàng)包括在內(nèi)。
③、向系統(tǒng)部署大量獨(dú)立的 .NET Core 應(yīng)用可能會(huì)使用大量磁盤空間,因?yàn)槊總€(gè)應(yīng)用都會(huì)復(fù)制 .NET Core 文件

2.發(fā)布項(xiàng)目
發(fā)布
3.查看Linux的IP信息,根據(jù)IP信息,新建Xshell會(huì)話,連接,輸入Linux的賬戶及密碼
#查看本機(jī)IP信息
ifconfig -a
新建會(huì)話

連接成功
4.先安裝lrzsz,然后使用Xshell上傳發(fā)布好的項(xiàng)目到Linux服務(wù)器
#安裝lrzsz
sudo yum -y install lrzsz

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

lrzsz安裝完成

這里把文件上傳到/var/www文件夾下,所以我們用命令進(jìn)到www目錄下

#進(jìn)入www目錄
cd /var/www

#查看www目錄下的文件
ls

在www當(dāng)前目錄,使用lrzsz的rz命令上傳.Net Core項(xiàng)目,這里注意要使用sudo或者su去執(zhí)行,不然會(huì)出現(xiàn)文件上傳失敗

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

#查看www目錄下的文件
ls

選擇上傳的文件
上傳之后查看的列表
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容