部署一套若依(RuoYi)+ Redis的生产级或开发测试环境,其最低配置取决于你的业务场景和并发预期。若依基于 Spring Boot + Vue,本身对资源有一定开销,而 Redis 虽然轻量,但需要独立的进程和内存。
以下是针对不同场景的最低配置建议:
1. 极限压缩版(仅用于本地开发、演示或极低流量内部工具)
如果你只是用来学习、做个人 Demo,或者只有 1-2 人偶尔访问,且不使用复杂的定时任务或文件上传功能。
- CPU: 1 核 (1 Core)
- 内存: 1 GB – 2 GB (RAM)
- 注意: 若依后端 (Java) 启动至少需要 512MB-768MB,Redis 需要约 64MB-128MB,操作系统预留后,强烈建议至少 2GB,否则极易触发 OOM(内存溢出)导致服务崩溃。
- 硬盘: 20 GB (系统盘 + 日志 + 少量数据)
- 网络: 不限(按流量计费即可)
风险提示:在 1 核 1G 环境下,若依后台管理界面加载可能较慢,高并发下数据库连接池容易超时。如果必须用 1G 内存,建议将 Java 堆内存限制在 512M (
-Xmx512m),并关闭若依中不必要的非核心模块(如代码生成器在线预览等)。
2. 推荐入门版(适合小型企业内网、低并发生产环境)
这是最稳妥的“起步”配置,能够保证系统稳定运行,应对几十人的日常办公访问。
- CPU: 2 核 (2 Cores)
- 内存: 4 GB (RAM)
- 分配逻辑: Java 应用分配 2GB,Redis 分配 512MB,操作系统及缓存预留 1.5GB。
- 硬盘: 40 GB SSD (SSD 对数据库 IO 至关重要)
- 网络: 3 Mbps – 5 Mbps 带宽(视图片/文件传输需求而定)
3. 关键组件资源分析
为了让你更清楚为什么需要这些配置,以下是各组件的资源占用拆解:
| 组件 | 最低内存需求 | CPU 影响 | 说明 |
|---|---|---|---|
| 操作系统 (Linux) | ~300 MB | 低 | CentOS/Ubuntu 基础占用。 |
| 若依后端 (Spring Boot) | 512 MB – 1 GB | 中 | 启动慢,JVM 预热需要内存。默认堆内存通常较大,需手动调优。 |
| Redis | 64 MB – 256 MB | 低 | 纯内存数据库,主要吃内存,不占太多 CPU。 |
| MySQL (若依自带) | 512 MB – 1 GB | 高 | 容易被忽略的瓶颈。若依默认内置 MySQL 或外连,MySQL 对内存要求较高,尤其是开启缓冲池后。 |
| Nginx (前端反向X_X) | ~50 MB | 低 | 处理静态资源,非常轻量。 |
4. 优化建议与避坑指南
如果你预算有限,只能买到 1 核 2G 甚至 1 核 1G 的服务器,请务必执行以下优化操作:
-
JVM 参数调优:
修改application.yml或启动脚本,强制限制 Java 最大堆内存,防止吃光系统内存导致 Redis 或 MySQL 被杀。# 示例:限制最大堆内存为 512M JAVA_OPTS="-Xms512m -Xmx512m -XX:+UseG1GC" -
使用 Docker Compose 编排:
使用 Docker 可以更方便地隔离资源限制(cgroups),给每个容器设置 Memory Limit。- 若依容器:
mem_limit: 1g - Redis 容器:
mem_limit: 256m - MySQL 容器:
mem_limit: 512m
- 若依容器:
-
关闭非必要功能:
在若依配置中关闭“代码生成”、“在线用户监控”、“定时任务”等非核心功能,减少运行时负载。 -
分离数据库:
如果条件允许,不要把 MySQL 放在同一台服务器上。可以将数据库迁移到云厂商提供的 RDS 服务(按量付费,便宜且稳定),这样应用服务器只需要承担 Web 和 Redis,1 核 2G 就能跑得很流畅。
总结结论
- 绝对底线(开发/演示):1 核 2G(1G 风险极大,不推荐)。
- 实用底线(小项目上线):2 核 4G。
- 最佳性价比:如果是云服务器,购买 2 核 4G 的实例通常是最具性价比的选择,既能保证若依 + Redis + MySQL 的稳定运行,又能应对一定的突发流量。
云小栈