如何將asp.net core程序部署到Linux服務器
目錄
- 1.創建一個測試的asp.net core web api 項目
- 2.準備一臺云服務器或者虛擬機
- 3.安裝asp.net core runtime 運行時即可。
- 4.使用dotnet和dotnet --info查看信息:
- 5.將項目上傳到Linux環境上:
公司項目一直都是在window server部署core項目,還是想學習下Linux的部署方式,加上前段時間學習了Linux一些常用知識,一直也在敲。微服務架構中,又學習了Nginx服務器的一些知識。
今天抽空將這塊整合起來。
1.創建一個測試的asp.net core web api 項目
項目開發環境和工具:
Visual Studion 2019
asp.net core 版本:3.1
2.準備一臺云服務器或者虛擬機
操作系統版本:Centos 8
3.安裝asp.net core runtime 運行時即可。
因為我們只是在Linux上去運行我們的asp.net core項目而已,不需要進行開發,sdk太重了。
sudo yum install aspnetcore-runtime-3.1
注意:直接安裝,不要像其他博主寫的還要更新什么的,坑死了。出現各種問題
沒有yum環境,會自動安裝。
不要像下面這樣操作:
安裝后的頁面:
4.使用dotnet和dotnet --info查看信息:
看到上圖說明,已成功安裝runtime.
5.將項目上傳到Linux環境上:
在根目錄下創建一個AspNetCoreProjects目錄
使用Xftp將整個項目文件上傳至該目錄下:
進入到Debug/netcoreapp3.1 啟動目錄,通過控制臺方式啟動項目:
cd /AspNetCoreProjects/AutoMapperWebApiTest/bin/Debug/netcoreapp3.1
通過ll或者ls查看文件:
通過以下命令,啟動該項目:
dotnet WebApiTest.dll --urls http://*:5008
大前提:在騰訊云防火墻處,開放5008端口
在瀏覽器通過公網IP:port/swagger/index.html 進行訪問:
如果打不開,可能是防火墻開啟了。我當前云服務的防火墻默認是關閉的。
那么如果防火墻開啟的話,如何解決?
查看防火墻狀態:
service firewalld status
嘗試開啟防火墻
service firewalld status
重新啟動項目,發現根本訪問不了了。
現在我們需要將5008端口添加到防火墻中:
firewall-cmd --zone=public --add-port=5008/tcp --permanent
然后重啟下防火墻:
firewall-cmd --reload
再次啟動該項目,可以正常訪問.
以上方式是通過控制臺方式啟動的,窗口關掉就會停止,進程就被kill掉。
這種方式只是一種演示手段,無法用于實際生產環境。
到此這篇關于將asp.net core程序部署到Linux服務器上的文章就介紹到這了,更多相關asp.net core部署Linux服務器內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!