简介
1.采用前后端分离发模式,微服务版本前端基于RuoYi-Vue;
2.后端采用Springboot,Spring Cloud& Alibaba;
3.注册中心,配置中心选型Nacos,权限认证使用OAuth2;
4.流量控制框架选型Sentinel。
系统模块
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210602105100610.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
架构图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210602105634852.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
内置功能
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
岗位管理:配置系统用户所属担任职务。
菜单管理:配置系统菜单,操作权限,按钮权限标识等。
角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
参数管理:对系统动态配置常用参数。
通知公告:系统通知公告信息发布维护。
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
登录日志:系统登录日志记录查询包含登录异常。
在线用户:当前系统中活跃用户状态监控。
定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
系统接口:根据业务代码自动生成相关的api接口文档。
服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
在线构建器:拖动表单元素生成相应的HTML代码。
连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
安装redis(开始部署)
redis的安装教学,请移步以下博文https://blog.csdn.net/MrsZhang1995/article/details/117324861?spm=1001.2014.3001.5501
我这里redis文件夹放在
D:\Program Files\Redis-x64-5.0.10
双击 redis-server.exe 启动redis服务器
下载源码并导入数据库
1.下载源码
RuoYi-Cloud代码地址: https://gitee.com/y_project/RuoYi-Cloud
使用命令 git clone https://gitee.com/y_project/RuoYi-Cloud.git
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527125929778.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
将RuoYi-Cloud克隆到本地文件夹
D:\houtai
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527125758685.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
2.导入数据库
打开mysql界面工具(我这里选择的是Navicat for MySQL)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527125707622.png)
新建三个数据库
ry_cloud
ry-config
ry_seata
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527130348450.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527130527978.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
找到数据库sql文件的路径
D:\houtai\RuoYi-Cloud\sql
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527130201909.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
在表上右键单击选择运行SQL文件
![![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527130625430.png](https://img-blog.csdnimg.cn/20210527130739596.png)
将四个sql文件,分别执行一下
![在这里插入图片描述](https://img-blog.csdnimg.cn/202105271309359.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
刷新数据库,如下所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527131019409.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
安装Nacos并配置MySQL数据库连接
根据说明,这个系统架构是采用的Spring Cloud & Alibaba,而微服务注册中心和配置中心是Nacos,权限认证使用的是Redis,因此这两个应该算是这个系统的基础设置之二
Redis在上面的步骤中已经安装,在路径D:\Program Files\Redis-x64-5.0.10
Nacos是第一次使用步骤为下:
1.下载nacos
https://github.com/alibaba/nacos/releases
2.nacos中文文档地址
https://nacos.io/zh-cn/docs/quick-start.html
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527132828932.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
这里我选择的版本是nacos-server-1.4.1.zip,然后解压为nacos-server-1.4.1文件夹,然后将文件夹剪切到D:\Program Files
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527133040136.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
根据若依官网文档https://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html#%E8%BF%90%E8%A1%8C%E7%B3%BB%E7%BB%9F的说明,需要在Nacos的application.properties文件中加入如下内容:
# 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=123456
这里需要注意的是,其他都不用改动,user和password需要根据自己数据库实际用户名和密码修改一下,例如我本地的password实际是123456。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527135645671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
application.properties的路径为
D:\Program Files\nacos-server-1.4.1\nacos\conf
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527133209831.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
修改Nocas启动模式为单例模式 standalone
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527133906102.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
在D:\Program Files\nacos-server-1.4.1\nacos\bin路径下
使用nodePad ++编辑 startup.cmd
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527133954823.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
将启动模式 cluster模式改为standalone模式
(standalone代表着单机模式运行,非集群模式)
(windows下命令行启动服务 cmd startup.cmd -m standalone)
双击启动 Nocas
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527134835119.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
修改nacos数据库连接参数
在浏览器输入localhost:8848/nacos 进入nacos主界面
输入用户名nacos 密码nacos
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527143048951.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527143133168.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
引入RuoYi-Cloud并启动后端三个基本服务
open打开本地项目,选择文件夹点击ok
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527143316662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
等他加载完相关依赖
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021052714342213.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
maven要配置本地仓库,用aliyun的镜像
<!-- 阿里云仓库 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus Aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527143552605.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
重新构建maven项目
回到nacos主界面,
将服务列表中有关数据库连接信息改为自己本地的,例如我这mysql密码为123456
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527144012460.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527144137800.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527144157577.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
启动后端
打开运行基础(启动没有先后顺序)
RuoYiGatewayApplication(网关模块 必须启动)
RuoYiAuthApplication(认证模块 必须启动)
RuoYiSystemApplication(系统模块 必须启动)
RuoYiMonitorApplication(监控中心 可选)
RuoYiGenApplication(代码生成 可选)
RuoYiJobApplication(定时任务 可选)
RuoYiFileApplication(文件服务 可选)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527145325338.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
成功启动了三个必须启动的基础服务加一个文件服务
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527145436493.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
nacos服务器列表显示我们启动的四个服务信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527145659472.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
在浏览器测试一下后端接口 输入 localhost:8080 显示上图所示,表示成功
启动前端
记得提前安装node.js
node.js安装教程
https://blog.csdn.net/MrsZhang1995/article/details/117321210?spm=1001.2014.3001.5501
在命令行或者IDEA中启动前端项目,都需要进入项目所在的路径
#进入项目目录
cd D:\houtai\RuoYi-Cloud\ruoyi-ui
# 安装依赖
#npm install
#强烈建议不要直接用cnpm安装,会有各种诡异的bug,可以通过重新制定registry来解决npm安装速度慢的问题
npm install --registry=https://registry.npm.taobao.org
#本地开发启动项目
npm run dev
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527150652303.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527150722305.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
启动成功,自动打开浏览器,跳转到登录界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527150800481.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
用户登录疏通
超级管理员 admin admin123
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527154848939.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527154930828.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yc1poYW5nMTk5NQ==,size_16,color_FFFFFF,t_70)