步驟略(一路next),固然你也能夠用命令行建立。html
在項目路徑下執行命令nginx
dotnet publish –c release
先本地運行是否有問題,減小由於本地程序形成發佈不成功的概率。程序就簡單介紹一下,下面部署是管件。shell
我這裏是在VirtualBox上安裝的Centos.centos
接下來就經過vi命令編輯網卡配置文件ifcfg-enp0s3(其餘版本名稱可能略有不一樣,但路徑一致)。具體命令以下api
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
將ONBOOT=no改成ONBOOT=yes,設置隨系統開機運行。而後:wq強制保存並退出編輯文件便可。瀏覽器
最後,須要重啓一下網絡服務。命令以下:bash
service network restart
而後ping www.baidu.com 檢查是否能夠正常上網了。
這時就能夠用xshell鏈接服務器。服務器
yum update yum install net-tools
yum install libunwind libicu
您須要註冊Microsoft簽名密鑰並添加Microsoft產品提要網絡
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update sudo yum install dotnet-sdk-2.2
dotnet --info
dotnet MyApp.dll
可是報錯了,以下圖
這裏說明一下:由於本地使用的sdk2.1,因此我沒選最高版本,而是yum search dotnet-sdk,選的是顯示的2.1的最高版本,也就是dotnet-skd-2.1.4。
覺得是服務端的sdk版本太,可是經過dotnet --info查看本地版本,以下圖:
服務端以下:
顯然是服務器端安裝的版本過低了。因此從新安裝了2.2版本,
而後再運行
顯示運行成功。這裏耽誤了好一會時間。
2. 測試
curl http://locahost:5000/api/values
能夠正常獲取信息了
可是遠程瀏覽器訪問,沒法訪問。這就怪了,爲啥呢?
服務器上用ip地址訪問:
curl http://10.100.15.17:5000/api/values
也是不通,最後才發現,原來默認是沒法經過ip訪問。(有大神知道緣由能夠知道一下)
而後關閉從新啓動,加上url參數
dotnet MyApp.dll --server.urls="http://*:5000"
此時再經過IP訪問,OK經過。
本地瀏覽器訪問,OK也經過。
好了這裏就能夠正常使用,固然測試沒問題了,生產絕對不能這樣搞。下邊還要使用nginx,以及守護程序之類的。
Asp.NetCore程序發佈到CentOs(含安裝部署netcore)--最佳實踐(二)