最完整RuoYi教程:从环境配置到系统部署全流程
2026-02-04 04:13:23作者:明树来
引言
你是否还在为企业级权限管理系统的环境配置繁琐、部署流程复杂而困扰?作为基于SpringBoot的轻量级Java快速开发框架,RuoYi以其易读易懂、界面简洁美观的特点,成为众多开发者的首选。然而,从源码获取到成功部署的过程中,环境依赖冲突、配置文件错误、数据库初始化失败等问题常常让开发者望而却步。本文将提供一套从环境配置到系统部署的全流程解决方案,通过12个章节的详细讲解,帮助你在1小时内完成RuoYi的本地化部署与验证。
读完本文你将获得:
- 一套完整的RuoYi环境配置清单
- 数据库初始化与项目配置的最佳实践
- 基于Maven的自动化构建流程
- 常见部署问题的诊断与解决方案
- 生产环境优化的核心配置指南
技术栈概览
RuoYi框架的核心技术栈如下表所示:
| 组件 | 技术选型 | 版本要求 | 国内镜像地址 |
|---|---|---|---|
| 核心框架 | SpringBoot | 2.5.x+ | https://maven.aliyun.com/repository/public |
| 持久层 | MyBatis | 3.5.x+ | - |
| 安全框架 | Shiro | 1.7.x+ | - |
| 数据库 | MySQL | 5.7+ | https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/ |
| 构建工具 | Maven | 3.6.x+ | https://maven.aliyun.com/repository/public |
| JDK | OpenJDK | 8u202+ | https://mirrors.huaweicloud.com/java/jdk/ |
mindmap
root((RuoYi架构))
核心层
SpringBoot
MyBatis
Shiro
业务层
系统管理
权限控制
代码生成
数据层
MySQL
Redis(可选)
表现层
Thymeleaf
Bootstrap
环境准备
JDK安装与配置
- 下载OpenJDK 8u202或更高版本:
# 以CentOS为例
wget https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/
- 配置环境变量:
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.8.0_202
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
- 验证安装:
java -version
# 应输出类似:openjdk version "1.8.0_202"
Maven配置优化
- 修改settings.xml使用阿里云镜像:
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
- 配置JDK默认版本:
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
MySQL部署与配置
- 安装MySQL 5.7:
# CentOS系统
yum localinstall https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/mysql57-community-release-el7-10.noarch.rpm
yum install mysql-community-server -y
systemctl start mysqld
systemctl enable mysqld
- 获取初始密码并修改:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'RuoYi@2025';
- 创建数据库并授权:
CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'%' IDENTIFIED BY 'RuoYi@2025';
FLUSH PRIVILEGES;
项目获取与配置
源码下载
使用Git克隆仓库(国内加速地址):
git clone https://gitcode.com/gh_mirrors/ruoyi/RuoYi.git
cd RuoYi
目录结构解析
RuoYi/
├── ruoyi-admin/ # 应用主模块
├── ruoyi-common/ # 通用工具类
├── ruoyi-framework/ # 框架核心
├── ruoyi-generator/ # 代码生成器
├── ruoyi-quartz/ # 定时任务
├── ruoyi-system/ # 系统模块
├── sql/ # 数据库脚本
├── pom.xml # 父工程POM
└── ry.sh # 启动脚本
数据库配置修改
编辑ruoyi-admin/src/main/resources/application.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: ruoyi
password: RuoYi@2025
文件存储路径配置
根据操作系统修改文件上传路径:
ruoyi:
# Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath
profile: /home/ruoyi/uploadPath
数据库初始化
执行SQL脚本
# 登录MySQL
mysql -uruoyi -pRuoYi@2025 ruoyi < sql/ry_20250416.sql
mysql -uruoyi -pRuoYi@2025 ruoyi < sql/quartz.sql
验证数据库表结构
确认核心表已创建:
USE ruoyi;
SHOW TABLES LIKE 'sys_%';
-- 应显示sys_user, sys_role, sys_menu等表
erDiagram
sys_user ||--o{ sys_user_role : has
sys_role ||--o{ sys_user_role : includes
sys_role ||--o{ sys_role_menu : has
sys_menu ||--o{ sys_role_menu : includes
sys_dept ||--o{ sys_user : belongs_to
项目构建与启动
Maven构建
# 跳过测试快速构建
mvn clean package -Dmaven.test.skip=true
构建成功后,在ruoyi-admin/target/目录下会生成ruoyi-admin.jar文件。
启动项目
使用提供的启动脚本:
# 赋予执行权限
chmod +x ry.sh
# 启动服务
./ry.sh start
启动过程日志:
Start ruoyi-admin.jar success...
验证启动状态
# 查看服务状态
./ry.sh status
# 查看日志
tail -f logs/ruoyi-admin.jar.log
系统访问与验证
访问系统
打开浏览器访问:http://localhost
登录系统
默认账号密码:
- 用户名:admin
- 密码:admin123
功能验证清单
| 模块 | 验证项 | 预期结果 |
|---|---|---|
| 用户管理 | 查看用户列表 | 显示admin用户信息 |
| 角色管理 | 查看角色权限 | admin拥有全部权限 |
| 菜单管理 | 查看菜单树 | 显示完整菜单结构 |
| 系统监控 | 查看服务器状态 | 显示CPU、内存等信息 |
常见问题解决
端口占用问题
# 查找占用80端口的进程
netstat -tlnp | grep 80
# 修改端口配置
sed -i 's/port: 80/port: 8080/' ruoyi-admin/src/main/resources/application.yml
数据库连接失败
检查:
- MySQL服务是否运行
- 防火墙是否开放3306端口
- 用户名密码是否正确
- 数据库是否存在
启动报内存不足
修改ry.sh中的JVM参数:
JVM_OPTS="-Xms256m -Xmx512m ..." # 降低内存要求
生产环境部署建议
配置HTTPS
- 生成SSL证书
- 修改application.yml:
server:
port: 443
ssl:
key-store: classpath:ssl/ruoyi.p12
key-store-password: password
key-store-type: PKCS12
使用Nginx反向代理
server {
listen 80;
server_name ruoyi.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ruoyi.example.com;
ssl_certificate /etc/nginx/ssl/ruoyi.crt;
ssl_certificate_key /etc/nginx/ssl/ruoyi.key;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
配置定时备份
# 添加到crontab
0 2 * * * mysqldump -uruoyi -pRuoYi@2025 ruoyi | gzip > /backup/ruoyi_$(date +%Y%m%d).sql.gz
总结与展望
通过本文档,你已成功完成RuoYi系统从环境配置到部署验证的全流程。RuoYi作为一款成熟的权限管理框架,不仅提供了完善的后台功能,还支持代码生成、定时任务等实用工具,极大提高开发效率。
未来可以进一步探索:
- 集成Redis实现缓存优化
- 对接消息队列实现异步处理
- 引入Elasticsearch实现全文检索
- 构建Docker镜像实现容器化部署
timeline
title RuoYi部署流程回顾
环境准备 : 安装JDK、Maven、MySQL
项目配置 : 修改数据库连接、文件路径
数据库初始化 : 执行SQL脚本
项目构建 : Maven打包
系统启动 : 运行启动脚本
功能验证 : 登录系统检查功能
本文档基于RuoYi v4.8.1版本编写,随着项目迭代可能存在差异,请以官方最新文档为准。如有部署问题,欢迎在评论区留言讨论。
登录后查看全文
热门项目推荐
相关项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00
最新内容推荐
终极Emoji表情配置指南:从config.yaml到一键部署全流程如何用Aider AI助手快速开发游戏:从Pong到2048的完整指南从崩溃到重生:Anki参数重置功能深度优化方案 RuoYi-Cloud-Plus 微服务通用权限管理系统技术文档 GoldenLayout 布局配置完全指南 Tencent Cloud IM Server SDK Java 技术文档 解决JumpServer v4.10.1版本Windows发布机部署失败问题 最完整2025版!SeedVR2模型家族(3B/7B)选型与性能优化指南2025微信机器人新范式:从消息自动回复到智能助理的进化之路3分钟搞定!团子翻译器接入Gemini模型超详细指南
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
525
3.72 K
Ascend Extension for PyTorch
Python
329
391
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
877
578
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
335
162
暂无简介
Dart
764
189
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.33 K
746
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
React Native鸿蒙化仓库
JavaScript
302
350