首页 > 编程语言 >【Java】Ruoyi(若依)——6.微服务版项目启动

【Java】Ruoyi(若依)——6.微服务版项目启动

时间:2024-09-13 11:17:20浏览次数:1  
标签:Java ry ruoyi 若依 nacos 模块 mysql Ruoyi 服务

http://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C

最早的时候,并没有打算写ruoyi框架的微服务版的安装和部署,原因如下:

1. 当时的项目中并没有用到微服务版。

2. 虽然微服务很有名,也是未来的发展趋势。但是我对微服务了解知之甚少,学起来需要系统。按学习难度:前后端未分离版→前后端分离版(多学一点vue)→微服务版。

但是,最近还是觉得稍微写一下ruoyo的启动框架,原因如下:、

1.现在项目中用到了微服务版(虽然,按照我的理解,我们开发人员类似于全栈工程师+运维,而且业务量也没有达到需要分布式)。

2. 若依框架关注度高,即是开始理解不够,只要安装了环境,运行起来难度不大。

3.自己下载、部署也利于自己对微服务的理解,未来多一种可能。

准备工作

根据官方文档,环境如下:

  • JDK >= 1.8 (推荐1.8版本)
  • Mysql >= 5.7.0 (推荐5.7版本)\Redis >= 3.0
  • Maven >= 3.0
  • Node >= 12
  • nacos >= 2.0.4 (ruoyi-cloud < 3.0 需要下载nacos >= 1.4.x版本)
  • sentinel >= 1.6.0

 这里JDKmysqlmaven、node在本机已安装(安装方法就不赘述了)。nacos(之前没使用过,主要用于发现、配置和管理微服务),Sentinel是流量管理组件。

根据官方文档:

 Nacos是微服务版必须的环境,sentinel等用到是再学习,一步一步来。

具体步骤

后端运行的具体步骤:

1.下载并导入脚本数据

2.导入项目

3.配置nacos持久化

4. 打开运行模块

5.集成 seata 分布事务(可选)。

前端运行的具体步骤如下:

1. 打开项目目录,并运行命令

2. 打开浏览器验证

后端运行步骤

1. 下载并导入脚本数据。源码路径:https://gitee.com/y_project/RuoYi-Cloud。打开sql文件,发现

文件名 说明 建议数据库
ry-xxxxxxxx.sql 若依系统数据(必须) ry-cloud
quartz.sql 代码生成器(可选) ry-cloud
ry_config_xxxxxxxx.sql  微服务配置文件(必须)  ry-config
ry_seata_xxxxxxxx.sql  分布式事务(可选)  ry-seata

 

2. 打开Idea,点击Open然后选择合适的工程导入(略)。

3. 配置nacos持久化。已安装好nacos。打开{nacos.home}/bin文件下的 application.properties ,增加支持mysql数据源。

# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password

 启动nacos,发现已有ruoyi的配置项。这里可以实现配置和版本的修改了。

 

nacos支持三种部署模式,这里默认单机模式。

4. 运行模块。打开基础运行模块:

官方文档生怕我们不了解,很贴心的提示。

  •  RuoYiGatewayApplication (网关模块 必须)
  • RuoYiAuthApplication (认证模块 必须)
  • RuoYiSystemApplication (系统模块 必须)
  • RuoYiMonitorApplication (监控中心 可选)
  • RuoYiGenApplication (代码生成 可选)
  • RuoYiJobApplication (定时任务 可选)
  • RuoYFileApplication (文件服务 可选)

  我这里,在nacos修改了配置项的数据库,发现每个模块都能运行成功。

前端运行步骤

 进入项目目录
cd ruoyi-ui

# 安装依赖
npm install

# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com

# 本地开发 启动项目
npm run dev

 

 打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功

 前端启动成功

 

标签:Java,ry,ruoyi,若依,nacos,模块,mysql,Ruoyi,服务
From: https://www.cnblogs.com/luyj00436/p/18406481

相关文章

  • Java成神之路-踩坑篇: SpringBoot2.7.0版本整合Swagger3.0.0。解决:项目启动报错与swa
    话不多说先上报错信息Causedby:java.lang.NullPointerException:null atspringfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56)~[springfox-spring-webmvc-3.0.0.jar:3.0.0] atspri......
  • 【JUC】16-Java对象内存布局和对象头
    1.对象的内存布局 在HotSpot虚拟机里,对象在堆内存中的存储布局可以分为三个部分:对象头、实例数据和对齐填充。对象头:由对象标记和类型指针。......
  • Java/JDK下载安装与环境配置(Windows 10 超详细的图文版教程 )
    Java/JDK下载安装与环境配置(Windows10超详细的图文版教程)一.JDK的下载与安装(免安装)安装包路径:D:\work\Vue3\安装包\jdk1.8.0_66.zip二.JDK环境配置JDK环境配置是JDK安装过程中最为重要的内容,大多数初学者安装JDK最大的问题就是出在环境配置上面,所以这里我以windows10......
  • 黑马面试集合(ArrayList, HashMap)篇笔记整理,结尾附Java的集合相关高频面试题及答案
    集合操作数据的特点-算法复杂度分析数据结构算法复杂度分析为什么要进行复杂度分析?指导编写性能更优的代码评判别人写代码的好坏时间复杂度分析时间复杂度分析:来评估代码的执行耗时的假设每行代码的执行耗时一样:1ms分析这段代码一共执行多少行?3n+3......
  • Java线程状态及生命周期
    基础概念Java线程在运行生命周期中的指定时刻只可能处于这6种不同状态的其中一个状态,分别是:NEW:初始状态,这是线程被创建出来但没有被调用start()。RUNNABLE:运行状态,线程被调用了start()等待运行的状态。BLOCKED:阻塞状态,等待WAITING:等待状态,表示该线程需要等待其他线程做出......
  • JavaScript之填充数组的五种方法
    点击跳转填充字符串方法填充数组是一种常见的操作,尤其是当你需要初始化数组或填充默认值时。本文将介绍几种不同的方法来填充数组,每种方法都有其适用的场景和用法。1.使用Array.prototype.fill()fill()方法是最直接的填充数组的方式。它可以用指定的值填充数组的所有......
  • 2.Java面向对象第二章方法与方法重载
    2.Java面向对象第二章方法与方法重载文章目录2.Java面向对象第二章方法与方法重载一、方法参数传递二、值传递与引用传递三、数组,对象参数传递四、构造方法五、this六、方法重载七、成员变量和局部变量的区别一、方法参数传递方法语法:访问修饰符返回值类型......
  • 3.Java面向对象第三章封装与继承
    3.Java面向对象第三章封装与继承文章目录3.Java面向对象第三章封装与继承一、封装二、包三、访问权限四、static静态五、继承一、封装什么是封装:隐藏类的内部实现细节,对外提供一个可以访问的接口。步骤:1.设置属性为private2.生成get和set方法3.可以在get或se......
  • 基于java的餐厅点餐订餐餐桌预订系统JAVA.JSP【论文、源码、实训报告】
     博主介绍:......
  • 《深入理解 Java 中的 super 关键字》
    目录一、为什么需要super?二、super的理解及可调用结构(一)super是对父类的引用(二)super调用构造器三、子类对象实例化全过程一、为什么需要super?子类继承父类以后,可能会对父类的方法进行重写。在这种情况下,有时候我们需要在子类中调用父类中被重写的方法。此外,如果子类和......