.NET5都来了,你还不知道怎么部署到linux?最全部署⽅案,总有⼀款适
合你
随着2020进⼊4季度,.NET5正式版也已经与⼤家见⾯了。不过,尽管 .NET Core发布已经有四五年的时间,但到⽬前为⽌,依旧有很多.NET开发者在坚守者.NET4,原因不尽相同,但最⼤的问题可能还是不熟悉Linux,更别说在Linux服务器中部署.NET服务了。
⽽ .NET Core在飞速发展的这四五年⾥,微服务、云原⽣等概念也在飞速发展。 .NET Core在微服务和云原⽣的场景下,也已⽇趋稳定,⽣态也在逐步完善,相信.NET5正式发布后,对于我们苦逼多年了的.NET开发者绝对是个机遇。所以,你还有什么理由继续坚守.NET4呢?笔者在开始使⽤ .NET Core时,在如何部署到Linux服务器上也是踩了挺多坑,顺便也总结了⼀些经验,在此分享给⼤家,如有更好⽅案,还望不吝赐教。
准备⼯作
1. 操作系统。
操作系统可选择你⽐较熟悉的Linux发⾏版,如果你是第⼀次接触Linux,那我推荐使⽤CentOs,因为本⽂的内容都是在CentOs中进⾏演⽰的。
linux重定向⾄于系统的安装,你可以选择云服务器,或者使⽤虚拟机安装。虚拟机安装CentOs的⽅式⽐较简单,在此就不赘述了。
2. 连接⼯具
安装完成后,打开软件,点击左上⾓的新建回话按钮,打开新建回话框,如下图所⽰:
在【主机】中填写服务器的ip地址,然后点击【连接】按钮,会依次提⽰输⼊⽤户名和密码。连接成功的界⾯如下所⽰:
3. ⽂件上传⼯具
要想把服务部署到Linux服务器,那就必须把⽂件传输到服务器中(这是句废话)。根据不同的使⽤场景,笔者推荐两种⽅案,分别是XFTP⼯具上传和git仓库中转。
安装完成后,可以通过XSHELL⼀键打开XFTP,XFTP打开后,在软件的右侧可以切换要上传⽂件的⽬标路径,然后将⽂件拖到右侧释放后,就会⾃动上传了,如下图所⽰:
使⽤git仓库进⾏中转的⽅式是笔者⽐较推荐的⽅式,因为在频繁的迭代更新中,如果通过现在本地编
译发布后,再将⽂件拷贝到服务器,这个操作流程稍显繁琐。⽽通过git仓库周转的⽅式则相对⽐较简单,开发者仅需要将开发好的代码推到git仓库,然后在服务器中执⾏
build,publish等操作,少了繁琐的拷贝⽂件的过程,同时由于build和publish都是在服务器中执⾏,那么我们就可以通过编写部署脚本的⽅式,可以最终实现⼀键快速部署。
使⽤git的⽅案需要在服务器安装git客户端,并配置ssh公钥(配置公钥的⽬的是拉取私有的仓库,公共参考⽆需配置公钥)。下⾯来看具体的操作步骤:
⾸先,执⾏如下命令,安装git客户端:
yum -y install git
git安装后,通过如下命令⽣成sshkey:
# 这⾥的xx@xxx只是⽣成的sshkey的名称,并不约束货要求具体命名为某个邮箱。
ssh-keygen -t rsa -C "xx@xxx"
按照提⽰,按三次回车,即可⽣成sshkey,如下图所⽰:
,通过如下命令可查看公钥:
cat ~/.ssh/id_rsa.pub
复制⽣成后的sshkey,配置到代码仓库的公钥中。下⾯简单演⽰下gitee代码托管平台下如何配置公钥(其他平台⼤同⼩异)。
进⼊私有仓库的【管理】页⾯,到【公钥管理】,点击【添加公钥】,将刚刚⽣成的公钥复制过去,
如下图所⽰:
添加后,在终端中输⼊如下命令:
ssh -T git@gitee
次使⽤需要确认并添加主机到本机SSH可信列表,如下图所⽰:
输⼊yes后,出现类似于Hi xxx的字样,则表⽰git公钥配置成功了。
4. .NET Core SDK和运⾏时
运⾏如下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。
sudo rpm -Uvh packages.microsoft/config/centos/7/packages-microsoft-prod.rpm
通过如下命令安装SDK:
sudo yum install -y dotnet-sdk-3.1
.NET Core SDK 使你可以通过 .NET Core 开发应⽤。 如果安装 .NET Core SDK,则⽆需安装相应的运⾏时。通过如下命令安装运⾏时:
sudo yum install -y aspnetcore-runtime-3.1
发布程序到服务器
在准备⼯作中已经介绍了两种将⽂件发布到服务器的⽅式,下⾯具体演⽰下步骤。
1. 通过XFTP发布到服务器
⾸先,准备好要发布的程序,
下图是我创建的⼀个.NET Core3.1的⽰例代码:
打开vs的程序包管理器控制台,执⾏如下命令:
dotnet publish -o ./publish
执⾏结果如下图所⽰:
在上图可以看到,发布之后的⽂件的路径为:D:\code\test\BuildTest\publish\打开XFTP,将publish⽂件夹拖到右侧窗⼝,即可完成上传。
2. 通过git中转。
⾸先,将代码推送到git仓库中,复制SSH地址。如下图所⽰:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。