# JeecgBoot 单体升级微服务启动 [2020-12-01 | 2.4] > 将模块 system、demo ,快速切换成 SpringCloud微服务方式启动。 入门视频教程: https://www.bilibili.com/video/BV1sZ4y1G7LL 采用SpringCloud Alibaba技术栈 * 配置中心(服务注册):nacos * 路由网关: gateway * 消息队列:rabbitmq * 服务间调用:openfeign * 熔断和降级:hystrix * 分布式任务:xxl-job * 分布式锁:redisson **目录:** [TOC] ## 一、配置host ``` 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq ``` ## 二、启动Nacos * a.执行 [Nacos初始化脚本](https://gitee.com/jeecg/jeecg-boot/blob/master/jeecg-boot/db/tables_nacos.sql),创建nacos的Mysql库 ![](https://img.kancloud.cn/e4/fa/e4fa740b5e9063ea83050ea350c4b29f_365x218.png) * b.启动nacos服务:找到项目 jeecg-cloud-module/jeecg-cloud-nacos,右键执行类com.alibaba.nacos.JeecgNacosApplication ![](https://img.kancloud.cn/39/9e/399e2761547622d23a0bee52301eb16a_1746x506.png) * c.访问http://127.0.0.1:8848/nacos(账号密码都是nacos),默认所需配置已经创建好 ![](https://img.kancloud.cn/44/81/448124e51cc8f28ecda373150fead760_1635x382.png) 经常需要改的配置在jeecg-dev.yaml,可以自己调整相关参数,也可以创建多个模式配置jeecg-{模式}.yaml。 > 提醒: > 1. jeecgboot2.4.3之前版本需手工安装nacos和配置文件,请[看此文档](http://doc.jeecg.com/2187366) > 2. 当然你也可以单独下载[jeecg-cloud-nacos](https://github.com/zhangdaiscott/jeecg-boot/tree/master/jeecg-boot/jeecg-cloud-module/jeecg-cloud-nacos "jeecg-cloud-nacos") 项目,采用最新方式通过类启动。 ## 二、启动jeecg-system服务 * 1.修改 jeecg-boot根目录下的pom文件,将此处的注释打开 ![](https://img.kancloud.cn/55/0f/550fcf4a5a5f245245910c0e0773a247_614x182.png) * 2.删除system项目的pom中demo的依赖 将 jeecg-boot-module-system/pom.xml 中的 demo 依赖注释掉 或者 删掉 ![](https://img.kancloud.cn/f6/0e/f60ed2287fdf7cad92150b812ab26658_549x223.png) * 3.修改打包配置 修改 jeecg-boot-module-system/pom.xml 文件中spring-boot-maven-plugin 打包插件configuration.skip=true ![](https://img.kancloud.cn/1e/c0/1ec0ea5318e1d1c4045469bba0475c16_1222x624.png) * 4. 启动system微服务 (jeecg-cloud-system-start) 找到jeecg-cloud-module/jeecg-cloud-system-start 下面的启动类 org.jeecg.JeecgSystemCloudApplication 右键运行启动。 > 备注说明 > * jeecg-cloud-system-start 是system对应的微服务启动项目(引用了jeecg-boot-module-system作为依赖)。 > * jeecg-boot-module-system 是单体启动项目。 ## 三、启动jeecg-demo服务 升级某个模块为微服务模块, 这里以demo为例 * 1. 添加微服务启动依赖 修改pom,引入jeecg-boot-starter-cloud依赖 ![](https://img.kancloud.cn/f7/2f/f72f10184004c4d13249cbd0c2384d4c_1118x501.png) ~~~ <!-- 引入jeecg-boot-starter-cloud依赖 --> <dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>jeecg-boot-starter-cloud</artifactId> </dependency> ~~~ 加入打包插件 ``` <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> ``` * 2.添加配置文件application.yml(可以忽略) 如果没有则新建,内容如下: ~~~ server: port: 7002 spring: application: name: jeecg-demo ~~~ * 3.在org.jeecg包下新建启动类(如果没有) ~~~ package org.jeecg; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableFeignClients public class JeecgDemoApplication { public static void main(String[] args) { SpringApplication.run(JeecgDemoApplication.class, args); } } ~~~ 上述步骤完成 即可启动 demo 微服务模块,前提得把nacos配置成功。 ## 四、启动gateway jeecg 路由加载支持三种模式:`yml本地配置` 、 `nacos配置` 、 `database数据库`,其中nacos和数据库方式支持动态刷新路由,默认用的是`database数据库`模式,详细路由配置[参考此文档](http://doc.jeecg.com/2294757)。 启动类: org.jeecg.JeecgGatewayApplication 启动完成后nacos服务列表如下所示 ![](https://img.kancloud.cn/1d/6b/1d6b1e9e36bcd52468be3e8b94fd09de_1863x547.png) 查看在线接口文档: http://127.0.0.1:9999/doc.html ![](https://img.kancloud.cn/01/cb/01cba09b5a246e4ba9d54ce86637f138_1869x850.png) ## 五、启动前端 前端项目找到环境配置文件.env.development 修改地址:VUE_APP_API_BASE_URL=http://localhost:9999 其中端口号 `9999`和gateway的端口保持一致 ![](https://img.kancloud.cn/8b/4b/8b4b155115b262682be04fa275148d0f_1125x485.png) 访问系统首页: http://localhost:3000 ![](https://img.kancloud.cn/1a/8e/1a8ef30e449e6f7c009999993b469b62_1916x993.png) ***** ## 六、高级应用 ### rabbitmq服务启动 1、[安装rabbitmq](https://my.oschina.net/jeecg/blog/4729143) 2、修改nacos中jeecg-dev.yaml的rabbitmq链接配置 ![](https://img.kancloud.cn/92/33/92335223ee614ad4fc87117e0b8ab310_814x506.png) 3、启动system,rabbitmq队列和交换机会自动生成 详细文档见[ rabitmq消息队列集成2.4+](http://doc.jeecg.com/2043897) ### xxljob服务启动 1. 手工执行脚本[ jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql](https://github.com/zhangdaiscott/jeecg-boot/blob/master/jeecg-boot/jeecg-cloud-module/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql) 创建xxl_job库 2. xxljob服务启动,请右键执行` jeecg-cloud-xxljob/com.xxl.job.admin.XxlJobAdminApplication` 详细文档见[ xxl-job定时任务集成2.4+](http://doc.jeecg.com/2043895)