RuoYi-Vue(前后端分离版)基于 Spring Boot + Vue.js 构建,整体架构轻量且成熟。其硬件需求主要取决于并发量、业务复杂度以及是否部署了额外的中间件。
对于个人学习、内部测试或小型项目(低并发),以下是推荐的最低硬件配置建议:
1. 核心服务器配置(单机部署)
如果将后端服务、前端静态资源、数据库和 Redis 全部部署在同一台服务器上,建议的最低配置如下:
| 组件 | 最低推荐配置 | 说明 |
|---|---|---|
| CPU | 2 核 (vCPU) | Spring Boot 应用启动后占用内存较多,单核在复杂查询下容易成为瓶颈。 |
| 内存 (RAM) | 2 GB – 4 GB | 关键指标。JVM 需要预留空间,加上 MySQL 和 Redis,2GB 是勉强能跑通的底线,强烈建议 4GB以保证流畅度。 |
| 硬盘 | 20 GB SSD | 系统盘 + 数据库文件 + 日志文件。SSD 能显著提升数据库读写速度。 |
| 操作系统 | Linux (CentOS 7/8, Ubuntu 20.04+) | 生产环境首选 Linux;Windows Server 也可但资源占用略高。 |
注意:如果是 Windows 服务器,由于系统本身占用较高,建议内存至少 4GB,否则容易出现 OOM(内存溢出)。
2. 不同部署场景的差异
场景 A:本地开发/学习演示
- 配置:普通笔记本电脑即可(8GB 内存,双核 CPU)。
- 优化:可以使用 Docker Compose 一键启动所有服务,资源分配灵活。
场景 B:生产环境(低并发,<50 人在线)
- 方案一(单体部署):使用上述 2 核 4G 云服务器。
- 风险:MySQL 默认配置可能吃光内存,需手动调优
innodb_buffer_pool_size。
- 风险:MySQL 默认配置可能吃光内存,需手动调优
- 方案二(微服务拆分):
- 应用服务器:2 核 4G(仅运行 Spring Boot)。
- 数据库服务器:2 核 4G(仅运行 MySQL,可独立部署以释放应用服务器内存)。
- 缓存服务器:1 核 2G(仅运行 Redis)。
- 优势:稳定性更高,某一项崩溃不影响其他服务。
3. 软件依赖对资源的影响
RuoYi-Vue 默认集成了以下组件,它们都会消耗资源:
- Spring Boot: 启动慢,常驻内存约 300MB-600MB(取决于 JVM 参数
-Xms和-Xmx)。 - MySQL: 默认配置较保守,但在小内存机器上可能需要限制连接数或调整缓冲池大小。
- Redis: 占用较小,通常几十 MB 到几百 MB,视数据量而定。
- Vue 前端: 如果由 Nginx 托管,Nginx 本身非常轻量(几 MB),但如果前端打包过大,需注意磁盘 IO。
4. 性能调优建议(针对低配服务器)
如果在 2 核 2G 或更低配置的服务器上运行,必须进行以下优化:
- JVM 参数调整:
修改启动脚本,限制最大堆内存,防止撑爆物理内存。# 示例:限制最大堆内存为 512M JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC" - MySQL 优化:
在my.cnf中减小innodb_buffer_pool_size(例如设置为 256M 或 512M),并关闭不必要的日志功能。 - 使用轻量级前端X_X:
使用 Nginx 反向X_X前端静态文件,而不是让 Java 容器直接处理静态资源请求。
总结
- 绝对最低门槛:2 核 2G(仅限开发测试或极低流量,需严格调优)。
- 推荐起步配置:2 核 4G(能够稳定运行,满足小型企业或 Demo 展示需求)。
- 生产环境建议:根据用户量,建议从 4 核 8G 起步,并将数据库与应用程序分离部署。
如果您只是搭建一个内部管理系统供十几人使用,一台 2 核 4G 的阿里云/腾讯云轻量应用服务器完全足够支撑。
CLOUD云枢