1. 程式人生 > >CentOS7部署.Net Core2.0站點(上)

CentOS7部署.Net Core2.0站點(上)

微軟 配置 color shu RM work ftp 站點 .net core

其實類似的教程網上已經有很多了,之所以要寫,是應為發現在使用最新的centos7和.netcore2.1版本時還是遇到了不少坑,所以記錄下,以後希望大家能少走彎路。

一、安裝CentOS7

我是用虛擬機vmware安裝的,安裝教程百度上很多,也不是本篇的重點,請大家自行百度就可以了,這個還是比較簡單的。

二、安裝.net core sdk

可以參考微軟給出的官方文檔https://www.microsoft.com/net/learn/get-started/linux/centos,這裏有個坑,如果按官方文檔裝完後會出現版本依賴關系不兼容的bug,如下:

[root@localhost conf.d]# dotnet --info
Failed to resolve library symbol hostfxr_main_startupinfo, error: /usr/share/dotnet/host/fxr/2.0.6/libhostfxr.so: undefined symbol: hostfxr_main_startupinfo
.NET Command Line Tools (2.1.104)

不過github上面已經給出了解決方案,就是安裝時在第二條命令中加入nexclude=*preview*" 這段,更改後的命令如下:

sudo sh -c ‘echo -e "
[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc\nexclude=*preview*" > /etc/yum.repos.d/dotnetdev.repo‘

成功完成安裝後,執行dotnet --info命令,顯示如下:

[root@localhost conf.d]#
dotnet --info .NET Command Line Tools (2.1.104) Product Information: Version: 2.1.104 Commit SHA-1 hash: 48ec687460 Runtime Environment: OS Name: centos OS Version: 7 OS Platform: Linux RID: centos.7-x64 Base Path: /usr/share/dotnet/sdk/2.1.104/ Microsoft .NET Core Shared Framework Host Version : 2.0.6

三、創建ASP.NET CORE應用程序

在vs2017中創建一個名為“MyCoreWebApp”的Asp.net Core應用程序,修改Program.cs文件,添加被監聽的url和端口,如下:

技術分享圖片

編譯後已文件系統的方式發布,接下來需要設置centos防火墻,命令如下:

sudo firewall-cmd --permanent --zone=public --add-port=22/tcp 
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp 
sudo firewall-cmd --reload

使用xftp(需要防火墻開放端口號22,如上)將windows上的發布文件傳到centos的/home/wwwroot/MyWeb目錄下,

技術分享圖片

啟動.net core應用程序,命令如下

[root@localhost wuyi]# cd /home/wwwroot/MyWeb/
[root@localhost MyWeb]# dotnet MyCoreWebApp.dll
Hosting environment: Production
Content root path: /home/wwwroot/MyWeb
Now listening on: http://[::]:5000
Application started. Press Ctrl+C to shut down.

在centos中打開火狐瀏覽器,輸入http://localhost:5000即可訪問

技術分享圖片

如果想在外部系統訪問,可以輸入命令"ip addr"來查看ip,如下

技術分享圖片

在我本機windows中打開瀏覽器,輸入http://192.168.195.128:5000 也可以訪問成功。

技術分享圖片

至此,已完成了.net core在centos上的部署和訪問,後續會繼續嘗試些擴展內容如負載均衡和配置守護進程等。

CentOS7部署.Net Core2.0站點(上)