若依(RuoYi)项目基于 Spring Boot 开发,其部署在 Linux 服务器上的最低系统要求主要取决于运行环境(JDK)、数据库以及预期的并发量。虽然官方文档通常建议配置更高以保证流畅体验,但在低负载或测试环境下,可以运行在较低配置的服务器上。
以下是针对生产环境或正式测试环境的最低硬件与软件配置建议:
1. 硬件资源要求(服务器配置)
对于单节点部署且仅用于内部测试或小规模演示的场景:
- CPU: 最低 1 核 (2 核更推荐)。Spring Boot 应用启动和运行需要一定的计算能力,1 核 CPU 足以支撑基本的 CRUD 操作。
- 内存 (RAM): 最低 512 MB。
- 注意:这是非常极限的配置。如果同时开启 MySQL 和 Java 应用,512MB 极易发生 OOM(内存溢出)。
- 强烈建议:实际部署时至少准备 1 GB 或 2 GB 内存。如果内存不足,需要手动调整 JVM 参数(如
-Xms和-Xmx),将其限制在可用内存的 50%-70% 以内。
- 磁盘空间: 最低 20 GB (SSD 更佳)。
- 系统盘 + JDK + Tomcat/内置容器 + 数据库文件 + 日志文件 + 用户上传的文件。
- 如果是 MySQL 数据量大,需预留更多空间。
- 网络: 带宽根据访问量而定,但最低需保证能正常访问公网或内网。
2. 软件环境要求
若依对操作系统内核版本没有特殊依赖,只要是主流 Linux 发行版均可。
- 操作系统: CentOS 7+, Ubuntu 18.04+, Debian 9+ 等。
- Java 环境:
- 若依标准版(RuoYi-Vue/Cloud)通常使用 JDK 1.8 (Java 8)。
- 新版(如 RuoYi-Cloud)可能支持 JDK 17 或 21,具体需查看
pom.xml中的<java.version>配置。 - 最低要求: 必须安装对应版本的 JDK 并配置好
JAVA_HOME环境变量。
- 数据库:
- MySQL: 最低版本通常为 5.7 或 8.0(需确认具体项目的 SQL 脚本兼容性)。
- 数据库本身也需要占用约 300MB – 500MB 的内存,这进一步印证了服务器总内存最好不低于 1GB。
- 其他中间件 (可选):
- 若依标准版(单体架构)通常不需要 Redis、Nginx 等,可直接由 Spring Boot 内置容器处理。
- 若依微服务版(Cloud)则需要 Redis、Nacos (注册中心) 等,此时内存需求会显著增加(建议 2GB+)。
3. 关键注意事项与优化建议
在实际部署中,仅仅满足“最低要求”往往会导致性能瓶颈,特别是内存方面:
- 内存限制 (OOM 风险):
如果在 512MB 内存的服务器上运行,务必修改启动脚本或 JVM 参数,防止 Java 堆内存耗尽导致进程被系统杀掉(Kill)。# 示例:限制最大堆内存为 300M export JAVA_OPTS="-Xms128m -Xmx300m -XX:+UseG1GC" - 虚拟内存 (Swap):
如果物理内存只有 512MB,建议创建 2GB 左右的 Swap 交换分区,以防止因内存瞬时峰值导致服务崩溃。 - Web 服务器层:
在生产环境中,不建议直接暴露 Spring Boot 的内置端口(默认 8080)。通常会在前端加一层 Nginx 作为反向X_X,以处理静态资源加载、SSL 证书和负载均衡。此时 Nginx 也会占用少量内存(约 50MB)。 - 并发预期:
上述配置仅适用于低并发(如:< 50 人同时在线,QPS < 50)。一旦并发量上升,1 核 CPU 和 512MB 内存会迅速成为瓶颈,出现响应缓慢或服务不可用的情况。
总结
| 资源项 | 极限最低配置 | 推荐起步配置 | 备注 |
|---|---|---|---|
| CPU | 1 核 | 2 核 | 1 核勉强运行,多核更稳 |
| 内存 | 512 MB | 1 GB ~ 2 GB | 512MB 需严格限制 JVM 内存 |
| 磁盘 | 20 GB | 40 GB | SSD 读写速度影响数据库性能 |
| JDK | 1.8 | 1.8 / 11 / 17 | 视项目版本而定 |
| DB | MySQL 5.7/8.0 | MySQL 5.7/8.0 | 单独占内存,需预留空间 |
结论:若要稳定运行若依项目,2 核 CPU + 2GB 内存 是性价比最高的“入门级”生产配置;若仅为本地测试或极低流量演示,1 核 + 512MB 内存 配合 Swap 分区可勉强运行。
云服务器