最完整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 StartedRust0153- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
733
4.75 K
deepin linux kernel
C
31
16
Ascend Extension for PyTorch
Python
652
797
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
1.25 K
153
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.1 K
611
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.01 K
1.01 K
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
147
237
昇腾LLM分布式训练框架
Python
168
200
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
434
395
暂无简介
Dart
986
253