歡迎光臨
每天分享高質量文章

ASP.NET Core 程式發佈到 Centos

作者:幕三少

鏈接:https://www.cnblogs.com/smiler/p/10149603.html

環境

  • 本地 win7

  • 服務器:Virtual Box 上的Centos

  • ssh工具: Xshell

  • 檔案傳輸: xftp

一、在本地創建asp.net core應用發佈

1.1、使用VS 2017 新建一個ASP.NET Core專案

 

步驟略(一路next),當然你也可以用命令列創建。

 

1.2 、發佈專案

 

在專案路徑下執行命令

 

dotnet publish –c release

 

先本地運行是否有問題,減少因為本地程式造成發佈不成功的幾率。程式就簡單介紹一下,下麵部署是管件。

二、安裝NET Core SDK

2.1、環境準備

 

我這裡是在VirtualBox上安裝的Centos.

 

1、需要首先記錄一點,就是虛擬機最小化安裝CentOS 7 預設沒有啟動網絡配置,所以是不能上網的。

 

接下來就通過vi命令編輯網卡配置檔案ifcfg-enp0s3(其他版本名稱可能略有不同,但路徑一致)。具體命令如下

 

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

 

將ONBOOT=no改為ONBOOT=yes,設置隨系統開機運行。然後:wq強制儲存並退出編輯檔案即可。

 

最後,需要重啟一下網絡服務。命令如下:

 

service network restart

 

然後ping www.baidu.com 檢查是否可以正常上網了。

 

這時就可以用xshell連接服務器。

 

2、最小化安裝同樣沒有ifconfig等網絡命令,這裡為了方便可以安裝net-tools工具包

 

yum update
yum install net-tools

 

2.2、安裝.NET Core SDK

 

2.2.1、安裝libicu依賴

 

yum install libunwind libicu

 

2.2.2、註冊dotnet 的repository

 

您需要註冊Microsoft簽名密鑰並添加Microsoft產品提要

 

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

 

2.2.3、安裝

 

sudo yum update
sudo yum install dotnet-sdk-2.2

 

2.2.4、安裝完成

 

dotnet --info

 

微軟官方參考:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial

參考:https://blog.csdn.net/u012920852/article/details/79404433

 

2.2.5、發佈程式測試

 

這裡先將剛開始發佈的程式通過xftp傳輸到centos服務器上,進入程式檔案夾。

運行程式

 

dotnet MyApp.dll

 

但是報錯了,如下圖

 

 

這裡說明一下:因為本地使用的sdk2.1,所以我沒選最高版本,而是yum search dotnet-sdk,選的是顯示的2.1的最高版本,也就是dotnet-skd-2.1.4。

 

 

以為是服務端的sdk版本太,但是通過dotnet –info查看本地版本,如下圖:

 

 

服務端如下:

 

 

顯然是服務器端安裝的版本太低了。所以重新安裝了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,以及守護程式之類的。

赞(0)

分享創造快樂