若依(RuoYi)项目基于 Spring Boot + Vue 架构,其部署在 Linux 服务器上的最低系统要求主要取决于运行环境(JDK、MySQL、Redis 等)以及预期的并发量。对于开发测试或极低流量的个人/内部使用场景,配置可以压到很低;但如果是生产环境,建议适当提升以确保稳定性。
以下是针对不同场景的最低配置参考:
1. 核心软件环境要求
无论硬件如何,必须满足以下基础软件版本:
- 操作系统:Linux (推荐 CentOS 7+, Ubuntu 20.04+, Debian 10+)
- JDK:1.8 (Java 8) 或 JDK 17 (若依 Cloud 版或新版需 Java 17)
- 数据库:MySQL 5.7+ 或 8.0+
- 缓存:Redis 3.0+
- 前端构建:Node.js 16+ (仅用于打包前端资源,运行时不需要)
2. 硬件配置推荐表
场景 A:开发/测试/单机演示(最低极限)
| 适用于本地学习、内部小范围演示,无高并发压力。 | 组件 | 最低配置 | 说明 |
|---|---|---|---|
| CPU | 1 核 | 若依赖较多(如 Quartz 定时任务),单核可能偶尔满载 | |
| 内存 (RAM) | 1 GB | 关键瓶颈。JVM 启动需约 256MB-512MB,MySQL 和 Redis 各需 256MB+,剩余空间极小 | |
| 磁盘 | 20 GB | 系统盘 + 数据库文件 + 日志文件 | |
| 网络 | 不限 | 带宽建议至少 1Mbps,否则页面加载慢 |
注意:在 1GB 内存下,如果开启 MySQL 默认缓冲池和 JVM 堆内存,极易触发 OOM(内存溢出)导致服务崩溃。建议将 JVM 参数
-Xmx限制在 512M 以内,并优化 MySQL 配置。
场景 B:小型生产环境(推荐起步)
| 适用于初创公司、小型企业内部系统,有少量用户访问。 | 组件 | 推荐配置 | 说明 |
|---|---|---|---|
| CPU | 2 核 | 保证业务逻辑处理和数据库查询不卡顿 | |
| 内存 (RAM) | 2 GB – 4 GB | 安全线。JVM (512M-1G) + MySQL (512M) + Redis (256M) + 系统开销 | |
| 磁盘 | 40 GB+ | SSD 固态硬盘为佳,提升 I/O 性能 | |
| 网络 | 2 Mbps+ | 保证图片、静态资源加载速度 |
3. 关键优化建议(针对低配服务器)
如果你必须在1GB 或 2GB 内存的服务器上部署,请务必进行以下优化:
-
JVM 参数调优:
在application.yml或启动脚本中限制最大堆内存,防止吃光内存。# 示例:限制最大堆内存为 512MB JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC" -
MySQL 配置优化:
修改my.cnf,大幅降低innodb_buffer_pool_size(例如设为物理内存的 25%-30%)。[mysqld] innodb_buffer_pool_size = 256M # 1GB 机器建议值 max_connections = 50 # 降低最大连接数 -
使用 Docker Compose 管理:
若依官方通常提供 Docker 镜像,利用 Docker 的资源限制功能(mem_limit)可以防止某个容器耗尽整机资源。 -
关闭非必要服务:
如果服务器资源极度紧张,可以考虑将 MySQL 和 Redis 分离部署,或者暂时关闭非核心的定时任务模块。
总结
- 绝对最低:1 核 CPU / 1GB 内存(仅限学习或极轻量级测试,需深度调优)。
- 实用起步:2 核 CPU / 2GB 内存(可稳定运行基础业务)。
- 生产推荐:2 核以上 / 4GB 及以上(保障稳定性和扩展性)。
如果是正式对外提供服务,强烈建议不要低于 2 核 4G,因为随着数据量增长和业务复杂度增加,低配服务器的维护成本(频繁重启、排查 OOM)往往高于升级服务器的成本。
CLOUD云枢