最完整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版本编写,随着项目迭代可能存在差异,请以官方最新文档为准。如有部署问题,欢迎在评论区留言讨论。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
热门内容推荐
最新内容推荐
零门槛玩转MeloTTS:多语种语音合成实战手册零门槛智能法律助手:让每个人都能轻松获取专业法律咨询3个颠覆性工具彻底解决黑苹果配置难题:OpCore-Simplify黑苹果配置工具全攻略智能适配黑苹果:从硬件检测到EFI生成的全流程自动化方案30分钟搭建Docker全栈监控:Grafana实战指南颠覆式AI提示工程效率工具:AutoPrompt全自动化NLP模型调优方案推荐系统特征工程工业级指南:构建高可用特征处理架构开源音乐播放器Salt Player从架构到配置的全方位解析Claude Code Router在GitLab CI中的智能集成探索adetailer实战指南:四大场景目标检测与分割全流程应用
项目优选
收起
暂无描述
Dockerfile
710
4.51 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
579
99
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
958
955
deepin linux kernel
C
28
16
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
942
Ascend Extension for PyTorch
Python
573
694
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
1.43 K
116
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
414
339
暂无简介
Dart
952
235
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
2