文章目录
- 一、基础准备
- 1. 技术选型
- 2. 源码克隆
- 3. 安装依赖
- 4. 安装oracle
- 5. 安装启动Mysql
- 6. 安装启动Redis
- 7. 创建数据库,执行 SQL脚本文件
- 二、安装与配置 nacos
- 2.1. 下载nacos
- 2.2. 安装 nacos
- 2.3. nacos持久化配置
- 2.4. 执行脚本文件
- 2.5. nacos连接 mysql 配置信息
- 2.6. 启动 nacos
- 2.7. 测试验证
- 三、安装与配置启动sentinel
- 3.1. 下载sentinel
- 3.2. 启动sentinel
一、基础准备
1. 技术选型
框架 | 版本 | 说明 |
---|---|---|
spring-boot | 2.5.3 | 微服务框架 |
spring-cloud | 2020.0.3 | 微服务框架 |
spring-cloud-alibaba | 2021.1 | cloud第二代框架 |
mybatis | 2.2.0 | 持久层框架 |
spring-boot-admin | 2.4.3 | 监控中心 |
dynamic-ds | 3.4.1 | 多数据源 |
组件/软件 | 版本 | 说明 |
---|---|---|
sentinel | 2021.1 | 流控、熔断、服务降级 |
redis | 3.2.100 | 缓存 |
seata | 1.4.2 | 分布式事务 |
nginx | 1.9.9. | 反向代理 |
nacos | 2.0.3 | 服务注册发现 |
nacos config | 2.0.3 | 配置管理中心 |
mysql | 8.0.26 | nacos+seata+sentinel |
oracle | 11.2.0.1 | 数据库+基础数据存储 |
plsql | 11.2.0.1 | 数据库客户端 |
nodejs | 14.17.5 | 基础前端编译环境 |
maven | 3.8.1 | 后端编译打包工具 |
spring-boot-admin | 2.4.3 | 监控 |
2. 源码克隆
这个RuoYi-Cloud-Oracle版本和若依原作者版本保持同步更新,只是数据库用的oracle,其他的一样
https://github.com/yangzongzhuan/RuoYi-Cloud-Oracle
git clone git@github.com:yangzongzhuan/RuoYi-Cloud-Oracle.git
也可以直接点击下载zip
https://github.com/yangzongzhuan/RuoYi-Cloud-Oracle/archive/refs/heads/master.zip
注意:这里要先安装好 git
3. 安装依赖
# 2.1 进入到刚才下载好的 RuoYi-Cloud 源码目录
cd RuoYi-Cloud-Oracle/driver/# 2.2 将ojdbc8-12.2.0.1.jar安装到本地仓库
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar -Dfile=C:Users\Administrator\Desktop\data\RuoYi-Cloud-Oracle\driver\ojdbc8-12.2.0.1.jar
# 2.3 安装 RuoYi-Cloud-Oracle项目的依赖
mvn clean install -Dmaven.test.skip=true
如果不执行# 2.2 这一步,就会抛出这个异常
注意:这里需要先安装好 maven,配置阿里云的镜像
4. 安装oracle
略
5. 安装启动Mysql
由于nacos和seata组件仅支持mysql,因此,安装这个mysql用于存储nacos和seata的配置信息。其他基础数据都是用oracle数据库
MySQL 8.0.26 简易配置安装教程 (windows 64位)
安装后截图
6. 安装启动Redis
Redis-6.2.5 安装 Linux环境(单机)
安装后截图
7. 创建数据库,执行 SQL脚本文件
声明:数据库脚本 在 RuoYi-Cloud-Oracle\sql
文件夹中
oracle数据库操作
注意:执行之前先将ry_20210806.sql
的最后一行添加/
,不添加/
plsq不识别函数。
- 7.1 在 oracle数据库中,新建命令窗口,执行
ry_20210806.sql
(必选)quartz.sql(可选,首次建议一起初始化)脚本
出现一下截图代表执行成功
再次加载quartz.sql
出现一下截图代表执行成功
mysql数据库操作
- 7.2 在 MySQL中,创建数据库(名为 ry-config)字符集utf8,执行 ry_config_20210730.sql(必选)
在执行 ry_config_20210730.sql脚本文件的时候需要注意,如果你使用的是 MySQL5.6 版本,在导入脚本运行的时候可能会报错!!但如果使用的是 MySQL5.7版本以上的话就不会
原因:MySQL5.6 不支持 utf8mb4 编码
二、安装与配置 nacos
根据技术选型版本下载nacos
2.1. 下载nacos
https://github.com/alibaba/nacos/releases/tag/2.0.3
2.2. 安装 nacos
我们下载的 nacos-server-2.0.3.tar.gz
,解压就可以直接使用
tar -zxvf nacos-server-2.0.3.tar.gz[root@localhost app]# cd nacos/
[root@localhost nacos]# ll
总用量 24
drwxr-xr-x. 2 root root 82 9月 2 15:35 bin
drwxr-xr-x. 2 502 games 205 7月 27 14:18 conf
-rw-r--r--. 1 502 games 16583 3月 18 11:36 LICENSE
-rw-r--r--. 1 502 games 1305 5月 14 2020 NOTICE
drwxr-xr-x. 2 root root 30 9月 2 15:35 target
[root@localhost nacos]#
2.3. nacos持久化配置
通常使用 nacos作为注册中心和配置中心,默认 nacos使用的是 derby 内存数据库,一旦重启数据(注册中心和配置中心数据)会丢失。
因此我们使用 MySQL来存储数据,怎么做?
解决方案见:2.5
2.4. 执行脚本文件
nacos 为我们提供了连接配置 MySQL的脚本(位置在:解压 nacos-server-2.0.3.tar.gz
后的目录 conf / nacos-mysql.sql),我们先要创建名为 nacos_config 的数据库,然后执行**nacos-mysql.sql **脚本。
其实这一步我们不需要弄了,因为我们在7.2 步骤的时候已经创建了 ry-config 的数据库并执行了 ry_config_20210730.sql 脚本。
那问题来了,nacos官方提供的 nacos-mysql.sql与 ry_config_20210730.sql 有什么不同?
最主要的是ry_config_20210730.sql 为config_info 表中插入数据,如图:
采坑点:需要看一下
ry-config
数据库中users
表是否有数据? 如果执行了上面的脚本而没有插入数据的话,在登陆 nacos时就会报用户名密码错误
2.5. nacos连接 mysql 配置信息
打开 nacos-server-2.0.3.tar.gz
解压目录下 conf / application.properties 文件,在文件最后添加如下内容:
cd nacos/conf
vim 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
注意:这里可能需要换成自己的 url 用户名和密码
2.6. 启动 nacos
cd nacos/bin
sh startup.sh -m standalone
2.7. 测试验证
浏览器地址栏输入:http://192.168.92.102:8848/nacos
用户名和密码都是 nacos
三、安装与配置启动sentinel
根据技术选型版本下载sentinel
3.1. 下载sentinel
https://github.com/alibaba/Sentinel/releases/tag/1.8.2
3.2. 启动sentinel
java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.2.jar
http://192.168.92.102:8718/
账号密码都是sentinel