ABPvNext-微服务框架基础入门

本文使用的是ABPvNext商业版 最新稳定版本7.0.2为演示基础的,后续如果更新,会单独写一篇最新版本的,此文为零基础入门教程,后续相关代码会同步更新到gitee仓库中。


准备工作:

  • 1.登录ABPvNext官网 网址
    http://abp.io

  • 2.跳转到商业版的说明文档,目前商业版没有中文,只能使用谷歌浏览器的内置翻译功能了

  • 3.框架的相关环境要求,请自自行查看


  • 4.安装ABP CLI工具,安装方式是使用dotnet命令行工具,作为.NET开发者,这个本机一定是有的了

    //安装或者更新构建工具,如果想与我这篇文章一样,请指定安装版本号
    dotnet tool install -g Volo.Abp.Cli
    
    //登录ABP官网账号,既然使用商业版,肯定是已经有相关账号了
    abp login <username>
    
    //安装 ABP 套件(主要功能是后续创建解决方案以及代码生成工具等)
    abp suite install
    
    
    

创建项目并启动:

  • 1.通过ABP提供的商业套件 新建一个项目,本次使用图形化方式创建

    //执行完成后会拉起一个控制台,和网页,不要关闭控制台
    abp suite
    
  • 2.在打开的页面中,点击 Create a New solution(创建一个新的解决方案)

  • 3.创建使用微服务模板创建,所以选择Microservice template

  • 4.分别输入项目名称(Project Name) 输出目录(Output folder)以及UI模式(MVC),点击确定,开始 创建项目

  • 5项目生成完成后,打开相关目录,可以看到工具给生成的ABPvNext微服务项目

  • 6.接下来,我们将run-tye.ps1文件打开,需要修改一下其中的一些配置(更改前)

    <# Check development certificates #>
    <# 本地的证书,由于项目分层,之间调用都是使用https方式,所以本地调试必须有证书 #>
    if (! (  Test-Path ".\etc\dev-cert\localhost.pfx" -PathType Leaf ) ){
       Write-Information "Creating dev certificates..."
       cd ".\etc\dev-cert"
       .\create-certificate.ps1
       cd ../..  
    }
    
    <# 这个是官方提供的运行环境,这个建议大家单独安装,否则开发机器会很卡,所以直接删除掉 #>
    
    $requiredServices = @(
      'sql-server-db',
      'grafana',
      'prometheus',
      'kibana',
      'rabbitmq',
      'elasticsearch',
      'redis'
    )
      
    foreach ($requiredService in $requiredServices) {  
    
        $nameParam = -join("name=", $requiredService)
      $serviceRunningStatus = docker ps --filter $nameParam
      $isDockerImageUp = $serviceRunningStatus -split " " -contains $requiredService
      
      if( $isDockerImageUp )
      {
        Write-Host ($requiredService + " [up]")
      }
      else
      {
          cd "./etc/docker/"
        docker network create abpmicservie-network
        docker-compose -f docker-compose.infrastructure.yml -f docker-compose.infrastructure.override.yml up -d
        cd ../..
        break;
      }
    }
    <# 这个后面会手动执行,所以也删除掉 #>
    cd "./shared/ABPMicServie.DbMigrator"
    dotnet run
    cd ../..
     
    
    <# Run all services #>
    
    tye run --watch
    
  • 我们将文件重命名为 运行.ps1,内容如下

    <# Check development certificates #>

    if (! ( Test-Path ".\etc\dev-cert\localhost.pfx" -PathType Leaf ) ){

    Write-Information "Creating dev certificates..."

    cd ".\etc\dev-cert"

    .\create-certificate.ps1

    cd ../..

    }

    <# Run all services #>

    tye run --watch

  • 7.先不要运行项目,在项目的根目录打开PowerShell,运行dotnet build命令,整体还原项目包

  • 8.打开项目,更改 shared/ABPMicServie.DbMigrator 项目的数据库链接字符串

    原始项目需要修改四个数据库,每个数据库需要手动建立完成

  • 9.在数据库中分别建立四个数据,然后更改项目中链接字符串的IP,用户名等

  • 10.在ABPMicServie.DbMigrator项目右键→调试→启动新示例,运行迁移项目,如果链接字符串设置的没问题,执行成功后,数据库中相应表就应该已经生成完成,可以查看一下数据库,看看相应的表是否已经创建完成

  • 11.接下来就是更改各个项目的链接字符串 ,根据原有链接修改:


    • ABPMicServie.AuthServer
    • ABPMicServie.AdministrationService.HttpApi.Host
    • ABPMicServie.IdentityService.HttpApi.Host
    • ABPMicServie.ProductService.HttpApi.Host
    • ABPMicServie.SaasService.HttpApi.Host
  • 12.接下来要修改各个项目的中间件配置,包括 RabbitMQ,Redis,ElasticSearch等,由于修改基本涵盖了,apps,gateways,services三个目录下的所有项目,就不一一列举了

  • 13.安装tye,也是直接只用dotnet的控制台工具

    dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22666666.1"
    
  • 14.安装完成后,直接在项目目录的运行.ps1文件单击右键→使用powershell运行,出现下面窗口

  • 15.在浏览器中打开 localhost:8000,出现tye管理界面,具体每个服务的端口,日志都可以查看

  • 16.访问web项目对应的端口,我这次对应的端口为
    https://localhost:44321/
    ,看到这个界面说明web服务已正常运行,接下来我们点击登录,进入登录界面

  • 17.微服务模式的登陆使用的统一认证方式,所以在登录界面实际是调用了ABPMicServie.AuthServer相关的服务,默认的管理用户名:admin 密码:1q2w3E* 这个密码是在迁移文件中设置的



  • 18.登录成功,看到如下页面,就说明ABPvNext的微服务框架已顺利执行成功,撒花

标签: none

添加新评论