下载
下载的任何文件都建议放在不包含中文的目录下
下载项目
项目链接: https://gitee.com/y_project/RuoYi-Cloud
或使用git拉取
1
| git clone https://gitee.com/y_project/RuoYi-Cloud.git
|
下载 nacos
官方下载: https://nacos.io/download/nacos-server/
下载 seata-server
官方下载: https://nacos.io/download/nacos-server/
下载 redis
这里用的是7.4.2版本
官方下载: https://redis.io/downloads/
下载 MySQL,Nginx
这里用的是小皮面板,可以集成 Nginx,MySQL,FTP等服务,这里只用到了MySQL和Nginx
官方下载: https://www.xp.cn/php-study
下载 Java
这里用的是jdk21
https://bell-sw.com/pages/downloads/
下载 sentinel
下载后放到Ruoyi-Cloud的jars文件夹(自建)内,此处用的是1.8.8版本
https://github.com/alibaba/Sentinel/releases
开发环境部署
个人习惯将后端和前端分开,解压项目后将Ruoyi-Cloud文件夹重命名为ruoyi-master,将ruoyi-master内的ruoyi-ui跟ruoyi-master放到同级目录。
建议使用默认端口,放行8848,9848,7848,9849
配置 Java 环境
解压 jdk-21_windows-x64_bin.zip 到不包含中文的目录下
打开环境变量


添加JAVA_HOME变量

点开Path变量

配置到bin目录

验证环境是否配置成功

部署 nacos
解压 nacos-server-2.5.1.tar.gz 到不包含中文的目录下
配置
编辑 nacos/bin/startup.cmd,修改 cluster 为 standalone
standalone 是单机部署 , cluster 是集群部署

将ruoyi-master/docker/nacos/conf/application.properties文件复制到nacos/conf/application.properties,并打开nacos/conf/application.properties修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://mysql-host:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=password
nacos.naming.empty-service.auto-clean=true nacos.naming.empty-service.clean.initial-delay-ms=50000 nacos.naming.empty-service.clean.period-time-ms=30000
management.endpoints.web.exposure.include=*
management.metrics.export.elastic.enabled=false management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=D://home/ruoyi/nacos/tomcat/logs
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=6L+Z5piv5L2g55qE6ZW/5bqmPj0zMueahGJhc2U2NOe8lueggQ== nacos.core.auth.caching.enabled=true nacos.core.auth.enable.userAgentAuthWhite=false nacos.core.auth.server.identity.key=serverIdentity nacos.core.auth.server.identity.value=security
nacos.istio.mcp.server.enabled=false
|
启动 nacos
双击或命令行运行 nacos/bin/startup.cmd
如果出现类似于这样的错误,删除startup.cmd内所有的rem行即可。

运行成功类似于下图

部署 seata-server
解压 apache-seata-2.3.0-incubating-bin.tar.gz 到不包含中文的目录下
配置seata-server
编辑 seata-server/conf/application.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| server: port: 7091
spring: application: name: seata-server
logging: config: classpath:logback-spring.xml file: path: ${log.home:${user.home}/logs/seata} extend: logstash-appender: destination: 127.0.0.1:4560 kafka-appender: bootstrap-servers: 127.0.0.1:9092 topic: logback_to_logstash
console: user: username: seata password: seata seata: config: type: nacos nacos: server-addr: 127.0.0.1:8848 group: SEATA_GROUP username: nacos password: nacos data-id: seata.properties registry: type: nacos nacos: application: seata-server server-addr: 127.0.0.1:8848 group: SEATA_GROUP cluster: default username: nacos password: nacos store: mode: db security: secretKey: 6L+Z5piv5L2g55qE6ZW/5bqmPj0zMueahGJhc2U2NOe8lueggQ== tokenValidityInMilliseconds: 1800000 csrf-ignore-urls: /metadata/v1/** ignore: urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login,/version.json,/health,/error,/vgroup/v1/**
|
运行 seata-server
seata-server/bin/seata-server.bat
运行成功类似于下图

部署 redis
解压 redis-7.4.2.zip 到不包含中文的目录下
配置 redis
如果不设置密码可以忽略配置
编辑 redis.conf
找到或添加配置 requirepass
运行 redis
运行成功类似于下图

部署 mysql
打开小皮面板,安装成功后如下图

修改数据库密码

启动mysql

配置 若依数据库
用可视化工具或命令行创建ry-cloud,ry-config,ry-seata三个库,数据库编码用utf8_general_ci
ry-cloud 导入 ruoyi-master/sql/ry_2025xxxx.sql (必须),ruoyi-master/sql/quartz.sql(可选)
ry-config 导入 ruoyi-master/sql/ry_config_2025xxxx.sql(必须)
ry-seata 导入 ruoyi-master/sql/ry_seata_2025xxxx.sql
运行 sentinel
cmd进入ruoyi-master/jars目录,运行以下命令
1
| java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719 -jar sentinel-dashboard-1.8.8.jar
|
后端运行
配置
根据图片修改模块的配置

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| server: port: 9200
spring: application: name: ruoyi-auth profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|
网关端口就是前端所请求的端口

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| server: port: 3000
spring: application: name: ruoyi-gateway profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos sentinel: eager: true transport: dashboard: 127.0.0.1:8718 datasource: ds1: nacos: server-addr: 127.0.0.1:8848 dataId: sentinel-ruoyi-gateway groupId: DEFAULT_GROUP data-type: json rule-type: gw-flow
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| server: port: 9300
spring: application: name: ruoyi-file profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| server: port: 9202
spring: application: name: ruoyi-gen profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| server: port: 9203
spring: application: name: ruoyi-job profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| server: port: 9201
spring: application: name: ruoyi-system profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| server: port: 9100
spring: application: name: ruoyi-monitor profiles: active: dev cloud: nacos: discovery: server-addr: 127.0.0.1:8848 username: nacos password: nacos config: server-addr: 127.0.0.1:8848 file-extension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} username: nacos password: nacos
|
运行
打开 ruoyi-master 下的bin目录,先执行clean.bat清理,再执行package.bat打包。
打包完成后执行run-xxx.bat
run-gateway.bat,run-auth.bat,run-modules-system.bat这三个必须运行,其余可选。
前端运行
配置
打开vue.config.js,将下图位置配置为网关的端口和ip

运行
先在命令行执行npm install
再执行npm run dev
即可运行

生产环境部署
在开发环境的基础上打包前后端代码即可对生产环境部署
前端部署
在ruoyi-ui目录下执行npm run build:prod
命令即可打包,打包完成后会生成dist目录,这个目录就是打包好的文件。


打开小皮面板将nginx启动并添加网站目录。


配置 Nginx 使前端的请求可以正确的转发到后端

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| server { listen 80; server_name localhost;
location / { root "D:/website/localhost_80"; try_files $uri $uri/ /index.html; index index.html index.htm; }
location /prod-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080/; }
if ($uri ~ "/actuator") { return 403; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
|
最后重启Nginx没有抛出错误即完成前端部署

后端部署
部署前先运行起来 nacos,seata,mysql,redis,在开发环境中有写。
打开 ruoyi-master/bin 目录,执行 clean.bat,再执行package.bat进行打包
打包完成之后,根据下图把jar包复制出来用命令运行即可。


此处可扩展业务代码,每个模块下都有jar包。打包后都在每个模块下的target目录下。

最后还有下载的jars下的 sentinel-dashboard-1.8.8.jar 也要放到一起。

最后使用以下命令来运行所有jar包。
1 2 3
| java -jar xxx.jar
java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719 -jar sentinel-dashboard-1.8.8.jar
|