简介

系列目录:【NET CORE微服务一条龙应用】开始篇与目录

本章主要介绍https://github.com/q315523275/FamilyBucket上微服务一条龙应用,在实际使用中的应用部署,以原始方式部署非docker

部署应用主要包括:

1、网关应用部署

2、授权认证应用部署

3、配置中心查询服务端应用部署

4、综合管理应用部署

5、后台运行应用部署

6、数据初始化

运行环境

应用所需运行环境,相关技术点不做介绍

1、net core 2.2/2.1

2、mysql

3、rabbitmq

4、consul(非必须)

5、redis

6、zookeeper(非必须)

7、pm2(非必需)

mysql数据初始化

数据库脚本地址(github),初始化数据其中包括:

接口资源数据(综合管理应用)、网关默认配置与路由、配置中心默认开发配置、综合管理菜单数据、默认用户角色权限

数据初始化后,部分需要更新数据如下:

网关路由表tb_apigateway_reroute默认4条配置下游地址更新

配置信息数据表tb_appconfig_dev,默认redis、网关地址、Consul、RabbitMq、权限数据库地址

网关部署

项目源码地址(github)

1、由于未使用配置中心,所以appsettings.json需配置对应信息

2、hosting.json为配置绑定Url

3、pm2.json为pm2配置,start.sh为Linux命令

4、发布应用程序然后上传至linux环境,如果安装有pm2可直接pm2 start pm2.json,如果未安装可直接nohup dotnet xxx.dll &进行项目启动

登陆项目部署

项目源码地址(github)

1、使用配置中心,appsettings.json配置应用对应独有信息

2、libSkiaSharp.so必须上传至应用根目录

3、其他操作为网关部署4

其他应用部署

其他应用部署于登陆项目基本一致,整体发布顺序如下:

1、部署配置中心配置查询客户端(github),更新网关的配置应用路由数据库信息

2、部署网关应用

3、部署登陆授权应用,更新网关的登陆应用路由数据库信息

4、部署综合管理应用(开启了角色接口权限验证)(github),更新网关的管理平台应用路由数据库信息

5、部署默认后台应用(github

至此一个基础的应用就已经搭建起来了,如果不需要使用服务发现可以在Startup中屏蔽app.UseConsulRegisterService(Configuration);

前端页面应用部署

综合管理使用的是vue进行的开发,可能需要一点基础,github https://github.com/q315523275/FamilyBucket-UI

1、config/index.js目录文件,更改baseApi为网关url

2、可以本地npm run dev进行本地运行

3、发布静态文件放到服务器上运行即可

管理首页

【NET CORE微服务一条龙应用】应用部署的更多相关文章

  1. 【NET CORE微服务一条龙应用】开始篇与目录

    简介 随着业务的发展和变更,项目原先的分布式框架应用业务发展已有些不适应,所以18年初开始准备使用微服务框架,当时正好看到了ocelot项目,特意翻看了源码,发现很灵活和易扩展 于是就开始了微服务的开 ...

  2. 【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置

    介绍 系列目录:[NET CORE微服务一条龙应用]开始篇与目录 在微服务的应用中,统一的认证授权是必不可少的组件,本文将介绍微服务中网关和子服务如何使用统一的权限认证 主要介绍内容为: 1.子服务如 ...

  3. 【NET CORE微服务一条龙应用】第二章 配置中心使用

    背景 系列目录:[NET CORE微服务一条龙应用]开始篇与目录 在分布式或者微服务系统里,通过配置文件来管理配置内容,是一件比较令人痛苦的事情,再谨慎也有湿鞋的时候,这就是在项目架构发展的过程中,配 ...

  4. .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)

    本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...

  5. 【NET CORE微服务一条龙应用】第一章 网关使用与配置

    简介 微服务的系统应用中,网关系统使用的是ocelot,ocelot目前已经比较成熟了 ocelot就不做介绍了,等整体介绍完后再进行各类扩展介绍,ocelot源码地址:https://github. ...

  6. .NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.CI, CD 与Jenkins 互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous i ...

  7. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  8. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...

  9. .NET Core微服务系列基础文章索引(目录导航Final版)

    一.为啥要总结和收集这个系列? 今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有 ...

随机推荐

  1. sqlserver 通过日志恢复误删的数据

    转载地址:https://www.cnblogs.com/mrzl/p/4043313.html

  2. xbee无线通讯终端

    无线数传电台支持DIGI全系列无线数传模块,包括有xbee/xbee PRO S1.xbee/xbee PRO S2C.xbee WIFI.xbee PRO S3B.xbee/xbee PRO SX( ...

  3. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  4. spass按位置编码,进行排序题处理与分析

    本范例即需建立Q4_1至Q4_4 等四个变项, 各变量的数值则是排序的内容,共有0.1.2.3.4 等五种可能,0代表该选项没有被受测者选取,1.2.3.4分别代表被受测者指为第一至第四顺位. htt ...

  5. Django基础—1

    一. Django的安装1. 查看已安装的Django的版本     进入到终端以及Python的交互模式    python3/ ipython32. 交互模式中输入import django    ...

  6. C++回调:利用Sink

    Sink的本质是利用C++的封装.继承.多态的面向对象来实现,从实现角度来说,更优于函数指针回调: // cbBysink.cpp : Defines the entry point for the ...

  7. Android-Java-静态成员变量&成员变量&局部变量(内存图&回收机制)

    静态成员变量(回收机制) StaticDemo 和 MyDemo package android.java.oop13; class MyDemo { /** * 定义一个静态变量 */ public ...

  8. Kaldi如何准备自己的数据

    Introduction 跑完kaldi的一些脚本例子,你可能想要自己用Kaldi跑自己的数据集.这里将会阐述如何准备好数据. run.sh较上的部分是有关数据准备的,通常local与数据集相关. 例 ...

  9. 解决“UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 24051: illegal multibyte sequence”错误

    今天我在爬取一个网页时出现了下面这个错误: UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 240 ...

  10. 锚接口(下)——html5的history api

    概述 虽然html5的history api是H5专门用来解决记录历史记录和单页面的方法,但是很多老式的浏览器并不支持它,所以一般遇到老式的浏览器会做一个polyfill使用之前的hashchange ...