《步步入门》 .NET 6 部署到Linux

《步步入门》 .NET 6 部署到Linux


搭建Linux服务器

要搭建一个部署ASP.NET core的服务器,一般情况有两种选择。

一是购买云服务器,最近天翼云搞活动,一年通用型云主机,才60RMB,还是蛮优惠的。活动地址:上云狂欢季 (ctyun.cn),部署个人网站,搞个测试还是够用了。本人就使用云服务器做下面的演示。

如果觉得没必要买云服务器,可以自己使用虚拟机,安装Linux也是可以的,看个人喜好。

云服务器购买好后,进入控制中心查看云主机,友情提示,电信的控制中心有个很不友好的地方,就是必须选对云主机所在地区才会显示,我在此掉个一次坑,提醒大家避坑。

image-20211125221259426

言归正传,我用的是Ubuntu20.64版本的,不过你也选择其他Linux系统,不过需要注意的是,你选择的Linux系统版本和.core版本是否适配.从https://docs.microsoft.com/zh-cn/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website 可以查看详细的各个Linux系统和.NET的版本适配。

image-20211125223207246

从图中看到目前只显示最高支持5.0,经测试最新版的6.0也是支持的。

如果购买时选错了,也没关系,可以更换系统,我就从CentOS更换到了Ubuntu

image-20211126194122052

如果购买时没有要求设置密码,还有在控制中心设置一下密码,用于Linux系统登录。

安装Liunx远程连接工具

家用免费版Xshell 7(命令行工具)和Xftp 7(文件传输)下载,安装好使用云服务器操作系统账号登录,不出意外你将看到一下界面。

image-20211126195550342

安装.NET运行环境

点击在 Ubuntu 上安装 .NET - .NET | Microsoft Docs安装对应版本的运行环境.

image-20211126200124544

我的是ubuntu20.4,就选择20.4好了。

  1. 在xshell中执行以下命令,添加包签名

    wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    

    image-20211126200939291

  2. 安装NET6 SDK

      sudo apt-get update; \
      sudo apt-get install -y apt-transport-https && \
      sudo apt-get update && \
      sudo apt-get install -y aspnetcore-runtime-6.0
    

    image-20211126201110884

    1. 测试是否安装成功,执行

      dotnet --version
      //显示安装的版本号,恭喜你安装成功
      

​ 👀注意:此种环境安装方式是需要网络支持的。有些企业网络资源访问受限,使用此种方式是安装不了。就需要下载安装包,手动安装,官方也有详细的手动安装说明,这里就不累述了。**

生成ASP.NET Core网站

  1. 打开vs2022(目前只有vs2022才支持.NET6的开发),创建一个ASP.NET CORE WEB应用,取一个喜欢的名字,创建完成,项目看起来是酱样子的,一个简单的asp网站就建好了。

image-20211126202604137

  1. 为了调试和发布后网站访问端口一直,需要更改一下appsettings.json的配置。增加一项"urls": “http://*:8880”,‘8880’嘛就是网站访问端口,可自行修改。
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "urls": "http://*:8880",
  "AllowedHosts": "*"
}

  1. 发布网站

    打开powershell,执行

    dotnet publish --framework net6.0 --runtime ubuntu.20.04-x64 --output "D:\wb\ubuntu2004" --configuration Release  --no-self-contained
    

    发布文件放在“D:\wb\ubuntu2004”,可自行指定其他目录

    image-20211126204141230

    网站发布好后,离成功就一步之遥了,心情越来越激动了。

部署网站

打开Xftp 7,用云系统用户登录,就可以操作本地文件一样方便了,直接把发布文件夹拖到右边,文件就非常愉悦的传到了服务器上。

对于我们这种不太熟悉Linux系统的人,这通操作,简直不要太愉悦了。

image-20211126205900252

如果文件夹文件比较多,大的话,压缩为zip,再拖过去,或许会更好。

如果是zip压缩包,就还需要在服务器安装zip解压软件。安装也很简单,xshell执行

sudo apt-get install unzip 

定位到zip压缩包,执行

nzip ***(压缩包名称).zip

网站文件解压出来后,定位到网站目录,执行

dotnet apptest(一般与项目同名).dll

image-20211126211338373

如果看到网站访问地址,就说明网站已成功启动。至此,算是大功告成。

还没完,难道你就不想看看,一通操作后的结果吗?来看看吧。

访问地址 http://服务器IP:8880

image-20211126212212666

如果觉得对你有帮助,请打赏一下吧
image-dashang

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在构建.NET Core Web应用程序时,仓储层和业务层是核心组成部分。仓储层负责与数据库进行交互和数据存取,业务层则处理业务规则和逻辑。 首先,我们需要定义仓储接口(例如IUserRepository)来描述与用户相关的操作方法,如添加用户、删除用户、更新用户信息等。然后,我们创建一个实现该接口的具体仓储类(例如UserRepository),在该类中通过Entity Framework Core或其他ORM工具与数据库进行交互。 接下来,我们需要实现业务层。业务层通过调用仓储接口中定义的方法来操作数据,并处理业务逻辑。我们可以创建一个用户服务类(例如UserService),在该类中注入仓储类的实例,并通过调用仓储类中的方法实现具体的用户操作,如创建用户、验证用户信息等。业务层还可以定义更高层次的业务逻辑,如校验用户信息、处理用户请求等。 在创建业务层的同时,我们还可以使用依赖注入(DI)容器,如ASP.NET Core内置的DI容器,为仓储类和业务类注入依赖关系。这样可以更好地实现解耦和可测试性。 在实现过程中,我们还可以使用一些设计模式来提高代码的可读性和可维护性。例如,可以使用工厂模式来创建仓储类和业务类的实例,使用仓储模式来定义仓储接口和具体仓储类的关系,使用策略模式来处理不同的业务规则等。 总而言之,通过一步步构建.NET Core Web应用程序的仓储层和业务层,我们可以实现数据的存储和操作,以及业务逻辑的处理和管理。这样可以有效地组织代码,提高应用程序的可维护性和扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值