若依项目部署在Linux服务器上,最低系统要求是什么?

若依(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 内存的服务器上部署,请务必进行以下优化:

  1. JVM 参数调优
    application.yml 或启动脚本中限制最大堆内存,防止吃光内存。

    # 示例:限制最大堆内存为 512MB
    JAVA_OPTS="-Xms256m -Xmx512m -XX:+UseG1GC"
  2. MySQL 配置优化
    修改 my.cnf,大幅降低 innodb_buffer_pool_size(例如设为物理内存的 25%-30%)。

    [mysqld]
    innodb_buffer_pool_size = 256M  # 1GB 机器建议值
    max_connections = 50            # 降低最大连接数
  3. 使用 Docker Compose 管理
    若依官方通常提供 Docker 镜像,利用 Docker 的资源限制功能(mem_limit)可以防止某个容器耗尽整机资源。

  4. 关闭非必要服务
    如果服务器资源极度紧张,可以考虑将 MySQL 和 Redis 分离部署,或者暂时关闭非核心的定时任务模块。

总结

  • 绝对最低:1 核 CPU / 1GB 内存(仅限学习或极轻量级测试,需深度调优)。
  • 实用起步:2 核 CPU / 2GB 内存(可稳定运行基础业务)。
  • 生产推荐:2 核以上 / 4GB 及以上(保障稳定性和扩展性)。

如果是正式对外提供服务,强烈建议不要低于 2 核 4G,因为随着数据量增长和业务复杂度增加,低配服务器的维护成本(频繁重启、排查 OOM)往往高于升级服务器的成本。

未经允许不得转载:CLOUD云枢 » 若依项目部署在Linux服务器上,最低系统要求是什么?