如何將asp.net core程序部署到Linux服務(wù)器
公司項(xiàng)目一直都是在window server部署core項(xiàng)目,還是想學(xué)習(xí)下Linux的部署方式,加上前段時(shí)間學(xué)習(xí)了Linux一些常用知識(shí),一直也在敲。微服務(wù)架構(gòu)中,又學(xué)習(xí)了Nginx服務(wù)器的一些知識(shí)。
今天抽空將這塊整合起來(lái)。
1.創(chuàng)建一個(gè)測(cè)試的asp.net core web api 項(xiàng)目
項(xiàng)目開發(fā)環(huán)境和工具:
Visual Studion 2019
asp.net core 版本:3.1
2.準(zhǔn)備一臺(tái)云服務(wù)器或者虛擬機(jī)
操作系統(tǒng)版本:Centos 8
3.安裝asp.net core runtime 運(yùn)行時(shí)即可。
因?yàn)槲覀冎皇窃贚inux上去運(yùn)行我們的asp.net core項(xiàng)目而已,不需要進(jìn)行開發(fā),sdk太重了。
sudo yum install aspnetcore-runtime-3.1
注意:直接安裝,不要像其他博主寫的還要更新什么的,坑死了。出現(xiàn)各種問(wèn)題
沒(méi)有yum環(huán)境,會(huì)自動(dòng)安裝。
不要像下面這樣操作:
安裝后的頁(yè)面:
4.使用dotnet和dotnet --info查看信息:
看到上圖說(shuō)明,已成功安裝runtime.
5.將項(xiàng)目上傳到Linux環(huán)境上:
在根目錄下創(chuàng)建一個(gè)AspNetCoreProjects目錄
使用Xftp將整個(gè)項(xiàng)目文件上傳至該目錄下:
進(jìn)入到Debug/netcoreapp3.1 啟動(dòng)目錄,通過(guò)控制臺(tái)方式啟動(dòng)項(xiàng)目:
cd /AspNetCoreProjects/AutoMapperWebApiTest/bin/Debug/netcoreapp3.1
通過(guò)ll或者ls查看文件:
通過(guò)以下命令,啟動(dòng)該項(xiàng)目:
dotnet WebApiTest.dll --urls http://*:5008
大前提:在騰訊云防火墻處,開放5008端口
在瀏覽器通過(guò)公網(wǎng)IP:port/swagger/index.html 進(jìn)行訪問(wèn):
如果打不開,可能是防火墻開啟了。我當(dāng)前云服務(wù)的防火墻默認(rèn)是關(guān)閉的。
那么如果防火墻開啟的話,如何解決?
查看防火墻狀態(tài):
service firewalld status
嘗試開啟防火墻
service firewalld status
重新啟動(dòng)項(xiàng)目,發(fā)現(xiàn)根本訪問(wèn)不了了。
現(xiàn)在我們需要將5008端口添加到防火墻中:
firewall-cmd --zone=public --add-port=5008/tcp --permanent
然后重啟下防火墻:
firewall-cmd --reload
再次啟動(dòng)該項(xiàng)目,可以正常訪問(wèn).
以上方式是通過(guò)控制臺(tái)方式啟動(dòng)的,窗口關(guān)掉就會(huì)停止,進(jìn)程就被kill掉。
這種方式只是一種演示手段,無(wú)法用于實(shí)際生產(chǎn)環(huán)境。
到此這篇關(guān)于將asp.net core程序部署到Linux服務(wù)器上的文章就介紹到這了,更多相關(guān)asp.net core部署Linux服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET中Application和Cache的區(qū)別分析
在asp.net中儲(chǔ)存數(shù)據(jù)的方式有很多,包括application,session,cache, cookie, viewstate。其中application和cache的應(yīng)用范圍,使用方式都比較相似,這里主要對(duì)比一下這兩種方式。2010-03-03ASP.NET?Core中MVC模式實(shí)現(xiàn)路由二
這篇文章介紹了ASP.NET?Core中MVC模式實(shí)現(xiàn)路由的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04如何為CheckBoxList和RadioButtonList添加滾動(dòng)條
這篇文章主要介紹了為CheckBoxList和RadioButtonList添加滾動(dòng)條的方法,感興趣的小伙伴們可以參考一下2016-07-07datalist,Repeater和Gridview的區(qū)別分析
datalist,Repeater和Gridview的區(qū)別分析,需要的朋友可以參考一下2013-03-03asp.net 上傳或下載當(dāng)文件名包含有特殊字符"#"的處理
在上傳或下載文件時(shí),當(dāng)文件名包含有"#"特殊字符時(shí),上傳以后的文件會(huì)被改名字,造成下載也下載不了。2010-03-03asp.net使用母版頁(yè)中使用ajax腳本取數(shù)據(jù)
因母版頁(yè)繼承自UserControl,我們無(wú)法像正常頁(yè)面那樣使用Jquey或Ajax的PageMethods等無(wú)刷新方法取數(shù)據(jù)。不過(guò)可以使用ajax提供的Sys.Net.WebRequest來(lái)解決這一問(wèn)題。2010-09-09淺談ASP.NET Core 中jwt授權(quán)認(rèn)證的流程原理
這篇文章主要介紹了淺談ASP.NET Core 中jwt授權(quán)認(rèn)證的流程原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03ASP.NET中內(nèi)嵌頁(yè)面代碼的一個(gè)問(wèn)題
如果頁(yè)面繼承了一個(gè)父頁(yè)面,而且當(dāng)前頁(yè)面用new覆蓋了父頁(yè)面的某個(gè)屬性2010-02-02