正文
环境部署
准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 12
nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)
sentinel >= 1.6.0
运行系统
后端运行
1、 前往Gitee下载页面(https://gitee.com/y_project/RuoYi-Cloud (opens new window))下载解压到工作目录
2、 导入到Eclipse,菜单 File -> Import,然后选择 Maven -> Existing Maven Projects,点击 Next> 按钮, 选择工作目录,然后点击 Finish 按钮,即可成功导入。 Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)
3、 创建数据库ry-cloud并导入数据脚本ry_2021xxxx.sql(必须),quartz.sql(可选)
4、 创建数据库ry-config并导入数据脚本ry_config_2021xxxx.sql(必须)
5、 配置nacos持久化,修改 conf/application.properties 文件,增加支持mysql数据源配置
提示
配置文件application.properties是在下载的nacos-server包conf目录下。
最新RuoYi-Cloud版本>=3.0.0需要下载的nacos-server必须>=2.x.x版本。
默认配置单机模式,nacos集群/多集群部署模式参考 (Nacos支持三种部署模式 (opens new window))
启动nacos,到 nacos-server-2.1.0\bin
安装子目录下执行 startup.cmd -m standalone
6、打开运行基础模块(启动没有先后顺序)
RuoYiGatewayApplication (网关模块 必须)
RuoYiAuthApplication (认证模块 必须)
RuoYiSystemApplication (系统模块 必须)
RuoYiMonitorApplication (监控中心 可选)
RuoYiGenApplication (代码生成 可选)
RuoYiJobApplication (定时任务 可选)
RuoYFileApplication (文件服务 可选)
7、集成seata分布式事务(可选配置,默认不启用)
创建数据库ry-seata并导入数据脚本ry_seata_2021xxxx.sql
前端运行
# 进入项目下的UI前端目录
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 的 jdk 包环境。
还要提前安装好 Maven 和 nacos 。
以及 Redis,Redis默认密码为空,点击 redis-server.exe 后端运行。
上面这几个都安装在 Win10 中。
Git 拉取 RuoYi-Cloud 源码:
git clone https://gitee.com/y_project/RuoYi-Cloud.git
新建数据库(ry-cloud、ry-config、ry-quartz、ry-seata),并分别导入数据表结构和表数据:
修改 nacos 中的配置,文件 G:\WorkSoft\nacos\nacos-server-2.1.0\conf\application.properties
中:
### Connect URL of DB:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.56.108:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
Mysql连接地址和密码写对。
可以看到一台服务器上的 nacos 只能为一个项目提供服务。
命令行中启动 nacos:
startup.cmd -m standalone
执行过程:
G:\>WorkSoft\nacos\nacos-server-2.1.0\bin\startup.cmd -m standalone
"nacos is starting with standalone"
,--.
,--.'|
,--,: : | Nacos 2.1.0
,`--.'`| ' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 8352
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.0.62:8848/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2023-02-02 20:36:59,093 INFO Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@22bd2039' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-02-02 20:36:59,100 INFO Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-02-02 20:36:59,751 INFO Tomcat initialized with port(s): 8848 (http)
2023-02-02 20:37:00,702 INFO Root WebApplicationContext: initialization completed in 7064 ms
2023-02-02 20:37:06,607 INFO Initializing ExecutorService 'applicationTaskExecutor'
2023-02-02 20:37:06,964 INFO Adding welcome page: class path resource [static/index.html]
2023-02-02 20:37:07,460 INFO Creating filter chain: Ant [pattern='/**'], []
2023-02-02 20:37:07,503 INFO Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1b30a54e, org.springframework.security.web.context.SecurityContextPersistenceFilter@45d4421d, org.springframework.security.web.header.HeaderWriterFilter@9b3be1c, org.springframework.security.web.csrf.CsrfFilter@66756662, org.springframework.security.web.authentication.logout.LogoutFilter@9e30f9a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1537c744, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7db5b890, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@26275b46, org.springframework.security.web.session.SessionManagementFilter@69f080ad, org.springframework.security.web.access.ExceptionTranslationFilter@35fa450f]
2023-02-02 20:37:07,646 INFO Initializing ExecutorService 'taskScheduler'
2023-02-02 20:37:07,685 INFO Exposing 2 endpoint(s) beneath base path '/actuator'
2023-02-02 20:37:07,831 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2023-02-02 20:37:07,837 INFO Nacos started successfully in stand alone mode. use external storage
2023-02-02 20:37:29,746 INFO Initializing Servlet 'dispatcherServlet'
2023-02-02 20:37:29,770 INFO Completed initialization in 23 ms
浏览器中访问上面提示的地址:http://192.168.0.62:8848/nacos/index.html
修改 ruoyi-system-dev.yml 配置中的 主库数据源,完整如下:
# spring配置
spring:
redis:
host: localhost
port: 6379
password:
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
dynamic:
druid:
initial-size: 5
min-idle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,slf4j
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
# 主库数据源
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.56.108:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 从库数据源
# slave:
# username:
# password:
# url:
# driver-class-name:
# mybatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.system
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath:mapper/**/*.xml
# swagger配置
swagger:
title: 系统模块接口文档
license: Powered By ruoyi
licenseUrl: https://ruoyi.vip
在 IDEA 中打开项目,并启动服务:
如果要自动生成代码,也在 nacos 中 把 ruoyi-gen-dev.yml 的 Mysql连接地址和密码写上。
前端服务
提前在 Win10 中安装好 nodejs 和 Vue ,参考 https://www.jb51.net/article/138020.htm。
在 PhpStorm 打开该项目的 ruoyi-ui 文件夹,配置好后点击 Apply ,接下来会自动加载前端包依赖:
加载完毕后会在浏览器中自动打开项目地址。
其他
Element https://element.eleme.cn/#/zh-CN/component/installation
参考资料
RuoYi 官网地址 http://ruoyi.vip
RuoYi 在线文档 http://doc.ruoyi.vip
RuoYi 源码下载 https://gitee.com/y_project/RuoYi-Vue
RuoYi 在线提问 https://gitee.com/y_project/RuoYi-Vue/issues
RuoYi 博客 https://www.oschina.net/p/ruoyi
eclipse安装若依框架 https://blog.csdn.net/qq_44872638/article/details/104827344
RuoYi-Cloud 在线文档 http://doc.ruoyi.vip/ruoyi-cloud/
SpringBoot 官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/index.html
SpringBoot 官方文档中文版 - 1、入门指南 https://www.cnblogs.com/youcoding/p/15047719.html
mybatis 官方文档 https://mybatis.net.cn/index.html