將.NET?6項目部署到Linux
搭建Linux服務器
要搭建一個部署ASP.NET core的服務器,一般情況有兩種選擇。
一是購買云服務器,最近天翼云搞活動,一年通用型云主機,才60RMB,還是蠻優(yōu)惠的。部署個人網(wǎng)站,搞個測試還是夠用了。本人就使用云服務器做下面的演示。
如果覺得沒必要買云服務器,可以自己使用虛擬機,安裝Linux也是可以的,看個人喜好。
云服務器購買好后,進入控制中心查看云主機,友情提示,電信的控制中心有個很不友好的地方,就是必須選對云主機所在地區(qū)才會顯示,我在此掉個一次坑,提醒大家避坑。
言歸正傳,我用的是Ubuntu20.64版本的,不過你也選擇其他Linux系統(tǒng),不過需要注意的是,你選擇的Linux系統(tǒng)版本和.core版本是否適配.從https://docs.microsoft.com/zh-cn/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website 可以查看詳細的各個Linux系統(tǒng)和.NET的版本適配。
從圖中看到目前只顯示最高支持5.0,經(jīng)測試最新版的6.0也是支持的。
如果購買時選錯了,也沒關(guān)系,可以更換系統(tǒng),我就從CentOS更換到了Ubuntu
如果購買時沒有要求設置密碼,還有在控制中心設置一下密碼,用于Linux系統(tǒng)登錄。
安裝Liunx遠程連接工具
? 家用免費版Xshell 7(命令行工具)和Xftp 7(文件傳輸)下載,安裝好使用云服務器操作系統(tǒng)賬號登錄,不出意外你將看到一下界面。
安裝.NET運行環(huán)境
點擊在 Ubuntu 上安裝 .NET - .NET | Microsoft Docs安裝對應版本的運行環(huán)境.
我的是ubuntu20.4,就選擇20.4好了。
在xshell中執(zhí)行以下命令,添加包簽名
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
安裝NET6 SDK
sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y aspnetcore-runtime-6.0
測試是否安裝成功,執(zhí)行
dotnet --version //顯示安裝的版本號,恭喜你安裝成功
注意:此種環(huán)境安裝方式是需要網(wǎng)絡支持的。有些企業(yè)網(wǎng)絡資源訪問受限,使用此種方式是安裝不了。就需要下載安裝包,手動安裝,官方也有詳細的手動安裝說明,這里就不累述了。
生成ASP.NET Core網(wǎng)站
打開vs2022(目前只有vs2022才支持.NET6的開發(fā)),創(chuàng)建一個ASP.NET CORE WEB應用,取一個喜歡的名字,創(chuàng)建完成,項目看起來是醬樣子的,一個簡單的asp網(wǎng)站就建好了。
為了調(diào)試和發(fā)布后網(wǎng)站訪問端口一直,需要更改一下appsettings.json的配置。增加一項"urls": "http://*:8880",‘8880'嘛就是網(wǎng)站訪問端口,可自行修改。
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "urls": "http://*:8880", "AllowedHosts": "*" }
發(fā)布網(wǎng)站
打開powershell,執(zhí)行
dotnet publish --framework net6.0 --runtime ubuntu.20.04-x64 --output "D:\wb\ubuntu2004" --configuration Release --no-self-contained
發(fā)布文件放在“D:\wb\ubuntu2004”,可自行指定其他目錄
網(wǎng)站發(fā)布好后,離成功就一步之遙了,心情越來越激動了。
部署網(wǎng)站
打開Xftp 7,用云系統(tǒng)用戶登錄,就可以操作本地文件一樣方便了,直接把發(fā)布文件夾拖到右邊,文件就非常愉悅的傳到了服務器上。
對于我們這種不太熟悉Linux系統(tǒng)的人,這通操作,簡直不要太愉悅了。
如果文件夾文件比較多,大的話,壓縮為zip,再拖過去,或許會更好。
如果是zip壓縮包,就還需要在服務器安裝zip解壓軟件。安裝也很簡單,xshell執(zhí)行
sudo apt-get install unzip
定位到zip壓縮包,執(zhí)行
unzip ***(壓縮包名稱).zip
網(wǎng)站文件解壓出來后,定位到網(wǎng)站目錄,執(zhí)行
dotnet apptest(一般與項目同名).dll
如果看到網(wǎng)站訪問地址,就說明網(wǎng)站已成功啟動。至此,算是大功告成。
還沒完,難道你就不想看看,一通操作后的結(jié)果嗎?來看看吧。
訪問地址 http://服務器IP:8880
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET?Core中的Configuration配置二
這篇文章介紹了ASP.NET?Core中的Configuration配置,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04.Net中的不可變集合(Immutable Collection)程序集簡介
這篇文章介紹了.Net中的不可變集合(Immutable Collection)程序集,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06.Net創(chuàng)建型設計模式之抽象工廠模式(Abstract?Factory)
這篇文章介紹了.Net設計模式之抽象工廠模式(Abstract?Factory),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05Linux?CentOS下docker部署Asp.Net?Core(.Net6)
這篇文章介紹了Linux?CentOS下docker部署Asp.Net?Core(.Net6)的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-12-12ASP.Net Core MVC基礎(chǔ)系列之服務注冊和管道
這篇文章介紹了ASP.Net Core MVC中的服務注冊和管道,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-02-02