1、需要准备的依赖环境服务
- JDK >= 1.8 (推荐1.8版本)
- Mysql >= 5.7.0 (推荐5.7版本)
- Redis >= 3.0
- Maven >= 3.0
- NodeJS >= 10
以上安装配置不赘述 - nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)
- sentinel >= 1.6.0
- RuoYi-Cloud >=3.0.0 (我选择的是最新的3.2.0版本)
2、nacos安装
2.1下载安装
https://github.com/alibaba/nacos/releases
windows环境下载地址:
https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.zip
下载到本地之后, 解压之后得到nacos
2.2 启动
nacos的管理二进制命令都是在nacos/bin
目录下面,linux系统下面是start.sh
,windows系统下面是start.cmd
- Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
windows环境下启动成功之后如下:
浏览器console访问地址为:http://ip:port/nacos
页面如下:
登录账号:nacos
登录密码:nacos
2.3 配置(这个暂且放到后面再讲)
3、sentinel安装启动
https://github.com/alibaba/sentinel/releases
windows环境下载地址:
https://github.com/alibaba/Sentinel/releases/download/1.8.2/sentinel-dashboard-1.8.2.jar
下载到本地之后,sentinel默认启动的端口是8080,但是8080有可能会被占用, 从而导致sentinel启动失败
两种解决方案:
- 找到运行在8080端口上的进程,kill掉这个进程
- 启动时制定一个空闲的端口,
java -jar sentinel-dashboard-1.8.2.jar --server.port=8088
windows环境下启动成功之后如下:
浏览器console访问地址为:http://ip:port
页面如下:
登录账号:sentinel
登录密码:sentinel
4、数据库初始化、修改配置、后台项目部署
4.1、创建数据库
ry-cloud和ry-config(这两个库是必须的)
初始化备份文件在项目RuoYi-Cloud\sql
目录下面
4.2、修改nacos数据库连接配置
nacos数据库连接配置文件在nacos安装目录下的conf目录下nacos\conf\application.properties
数据库初始化成功之后,修改nacos的数据库连接信息
修改内容如下:
# db mysql
spring.datasource.platform=mysql
db.num=1
# 修改数据库服务器的连接信息【服务器IP、端口、数据库名称改为ry-config(如果你修改了数据库名称,请使用你自定义的数据库名称)、用户名、密码】
db.url.0=jdbc:mysql://localhost:port/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password
修改完成之后重启nacos,再次访问nacos的console页面, 就会看到预置的配置信息都被读取到console页面上来了。
4.3、修改注册到nacos的服务中的部分配置信息
这里需要需要主要是因为我们安装的nacos和sentinel、redis、mysql以及各个微服务项目都可能单独部署在不同的服务器机器上面,这里就需要通过配置文件灵活的配置各个服务的访问地址, 保证服务之间都可以正常通信。
遇到的问题:redis无法连接
将nacos的配置列表中所有涉及到redis的配置信息中的host: localhost
修改为host: ip或者127.0.0.1
,同时因为我的redis设置了密码
这里修改redis的密码为我设置的密码;
修改完成, 点击【发布】,新的配置信息就会被更新到数据库里面。
如果修改之后还是无法访问redis, 怎么办?
修改redis的配置文件,
- 注释掉
bind 127.0.0.1
, - 关闭redis保护模式
protected-mode no
, - 设置redis的密码
requirepass 访问密码
之后重启redis.
其他配置文件的修改大致都跟redis类似,这里不再赘述,下面说说哪些配置信息需要修改
哪些配置信息需要改?
redis链接配置信息
需要知道redis在哪台机子上面跑着,访问的端口是啥以及链接成功之后访问数据库时的密码信息等等
mysql
需要知道数据库在哪台机子上面跑着,访问的端口是啥?访问数据库的用户名和密码信息以及需要访问的是那个数据库等等
nacos
需要知道nacos在哪台机子上面跑着,访问的端口是啥?
4.4、项目服务模块中的需要修改关键配置信息
模块服务中主要就是涉及到服务注册到nacos,读取nacos中配置信息以及sentinel服务配置的信息需要更新(如果所有服务都在一台机器上面运行, 那不修改无所谓, 但是微服务的项目一旦服务都会被运行到不同的服务器上运行, 服务器与服务器之间可以相互通信,只需要在项目中修改这些关键服务之间的连接通信正常就可以。)
这样一说,估计大家以后再进行别的项目部署的时候都是非常类似的,一通百通。
4.5、运行后台项目,启动后台网关服务、认证服务以及系统管理服务
至此后台项目就部署完成了
5、前端项目部署
前端项目在RuoYi-Cloud\ruoyi-ui
目录下
注意:前端项目运行需要先在机器上面安装nodeJS服务以及npm包管理工具(安装nodeJS会顺带安装npm)
进入到ruoyi-ui目录下, 打开命令行,执行npm install
命令即可
npm install
等到依赖包全部都安装完成,在执行命令npm run dev
npm run dev
还有前端项目开发阶段,如果后台的网关服务的端口进行了变更, 需要同步修改前端项目对接的后台服务端口后重启前端项目即可。
6、项目运行效果
好了,可以开始二次开发了,抓紧码起来!!!