夫天地者,万物之逆旅;光阴者,百代之过客。而浮生若梦,为欢几何?
.Net Core项目如何部署到Linux之CentOS中

前言

前面我们已经学习了将.NetCore项目部署到基于Ubuntu的Linux虚拟机中。而在实际的应用中,Ubuntu主要是桌面版本,对个人来说很友好,更适合于个人学习使用的Linux系统。但对服务器来说,用不用桌面都无所谓,占用资源少才是关键,所以企业级使用的以CentOS居多,因此我们有必要再学习一下如何将.NetCore的应用程序部署到CentOS中。

准备工作

安装CentOS的Linux虚拟机,安装后的页面如下:

下面简要列出安装过程中的几个步骤截图

安装Xshell

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。在实际的应用中,我们一般很少会直接远程到Linux服务器上去操作,因此我们就需要借助此工具连接到Linux服务器,并执行我们所需的一些命令。网上下载安装成功后,我们就新建一个会话来连接Linux虚拟机。

首先我们先看一下虚拟机的IP地址

ip add

然后在Xshell新建会话的窗口中输入相应的IP和端口(默认22),以及账户密码

接下来我们就可以在Xshell中输入我们需要执行的命令了。下面我们就开始在CentOS中安装.net core sdk

注册 Microsoft 密钥和源

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

安装 .NET Core SDK(此过程比较耗时,需耐心等待...)

sudo yum install dotnet-sdk-3.1

安装 .NET Core 运行时

sudo yum install dotnet-runtime-3.1

开始安装及安装成功的标识如下

FileZilla上传发布文件

到这里,CentOS中的.net core运行环境已经安装成功,接下来就是发布。这里我们使用FileZilla工具将本地的发布包上传到Linux虚拟机上,具体如下图

此时我们发布的所有准备工作都完成了,紧接着只需要执行运行.net core项目的命令即可

打开虚拟机中的浏览器,并输入localhost:8080(或用IP访问:http://192.168.17.132:8080)即可访问部署在CentOS中的站点

最后我们还需要可以在本地的浏览器中访问虚拟机中的站点,当输入http://192.168.17.132:8080回车后访问,我们无法访问此网站。

这个原因主要是虚拟机中的防火墙并未对外开放8080的端口,因此我们可有两种解决方案,一种是关闭虚拟机中的防火墙,一种是开放8080端口。

关闭防火墙

systemctl stop firewall

开放端口(基本命令如下)

firewall-cmd --list-ports #查看已经开放的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #开启端口
firewall-cmd --reload #重启firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

最后重启.net core的项目后,就可以在本地的浏览器中访问虚拟机中的站点了

总结

本文简单学习了如何将.net core项目部署到CentOS的Linux系统中,我们也可以借助Nginx的反向代理来实现前面直接输入域名(并非真实且备案的域名)来访问虚拟机中的站点,基本操作类似,这里不再赘述。学无止境。。。参考文档:

https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7

https://www.cnblogs.com/oskyhg/p/7293915.html

作者:一蓑烟雨

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

0

支持

0

反对

posted @2020-4-13  拜读(263)

评论列表

评论内容:



喜欢请打赏

支付宝 微信

请放心支付