走啊走
加油

Ruoyi-vue项目上线生产环境,CentOS或Ubuntu最低系统配置推荐是多少?

服务器价格表

在将 RuoYi-Vue(前后端分离版)部署到生产环境时,其系统资源需求主要取决于 后端(Spring Boot + MySQL/Oracle + Redis 可选)前端(静态资源 Nginx 托管) 的综合负载。以下是针对 CentOS(推荐 7/8 或 Rocky/AlmaLinux 8+)或 Ubuntu(推荐 20.04 LTS / 22.04 LTS)最低推荐配置,兼顾稳定性、安全性和可维护性:


最低推荐生产环境配置(轻量级业务场景)

组件 推荐最低配置 说明
CPU ≥ 2 核(vCPU) Spring Boot 启动和并发处理需基本多线程支持;单核易成为瓶颈(尤其启用定时任务、文件导出、日志审计等)
内存(RAM) 4 GB(强烈建议 ≥ 6 GB) • RuoYi 后端(Spring Boot)默认堆内存 -Xms512m -Xmx1024m,但实际运行需额外元空间、直接内存、GC开销等
• MySQL(InnoDB)需预留至少 1–1.5 GB 缓存
• Nginx + Redis(若启用)各需 ~100–300 MB
• ⚠️ 若仅配 2 GB:极易因 OOM 被 Linux OOM Killer 杀掉 Java 进程,不推荐用于生产
磁盘 ≥ 40 GB SSD(建议 NVMe) • 系统 + JDK + MySQL 数据目录 + 日志(RuoYi 默认 daily rolling,需定期清理)
• 建议 /var/log/ruoyi//var/lib/mysql/ 单独挂载或使用 logrotate
操作系统 • CentOS 7.9+ / CentOS 8+(已 EOL,不推荐新部署
• ✅ Rocky Linux 8.10+ 或 AlmaLinux 8.10+(免费替代 CentOS)
• ✅ Ubuntu 20.04 LTS / 22.04 LTS(长期支持,生态友好)
• 避免使用 CentOS 6/7 早期版本(OpenSSL、glibc 安全漏洞多)
• Ubuntu 对 Java/Node/Nginx 包管理更便捷(apt + 官方 PPA)

🧩 关键组件版本兼容性要求(必须满足)

组件 最低兼容版本 备注
JDK JDK 8u202+JDK 11.0.12+(推荐 JDK 17 LTS) RuoYi-vue 3.x+ 官方已适配 JDK 17;JDK 8 仍可用但已停止免费更新(Oracle),建议用 Eclipse Temurin 或 Amazon Corretto
MySQL 5.7.20+8.0.16+(推荐 8.0.33+) 注意:MySQL 8.0 默认 caching_sha2_password 认证插件,需在 application-druid.yml 中配置 driver-class-name: com.mysql.cj.jdbc.Driver 并确保连接 URL 含 &serverTimezone=Asia/Shanghai
Redis (可选)≥ 5.0(若启用缓存/在线用户/验证码) 非必需,但生产建议启用以提升性能与会话管理
Nginx ≥ 1.16(Ubuntu 20.04+/CentOS 8+ 自带) 用于反向X_X(后端)+ 静态托管(前端 dist)+ HTTPS 终止

🚫 绝对避免的配置(常见踩坑)

  • 2 GB 内存 + CentOS 7.2:MySQL + Java + Nginx 启动后剩余内存 < 200MB,频繁 swap,服务假死。
  • ❌ 使用 systemd 管理 Java 进程但未配置 MemoryLimitRestart=always → 进程崩溃后不自愈。
  • ❌ 前端 nginx.conf 未配置 try_files $uri $uri/ /index.html; → Vue Router history 模式 404。
  • ❌ MySQL 未调优:innodb_buffer_pool_size 未设为物理内存 50%~70%,导致磁盘 I/O 爆高。

✅ 生产增强建议(低成本提效)

类别 推荐操作
安全加固 • 关闭非必要端口(仅开放 80/443/22)
• 使用 fail2ban 防 SSH 暴力破解
• MySQL 仅监听 127.0.0.1,禁用 root 远程登录
日志管理 • 配置 logback-spring.xml 输出到 /var/log/ruoyi/,按日切割 + 保留 30 天
• 使用 journalctl -u ruoyi 查看 systemd 日志(若用 systemd)
备份策略 • MySQL:每日 mysqldump + cron + 上传至 OSS/S3
• 前端静态资源:Git Tag + 构建产物归档
监控告警 • 基础:htop/nmon + netstat -tuln
• 进阶:Prometheus + Grafana(监控 JVM、MySQL、Nginx)

📌 总结:一句话推荐

生产环境起步配置:Rocky Linux 8.10 / Ubuntu 22.04 LTS + 2核4GB内存 + 40GB SSD + JDK 17 + MySQL 8.0 + Nginx 1.18+
—— 此配置可稳定支撑 50–100 并发用户(典型OA/后台管理系统场景),且留有余量应对流量波动与日志增长。

如需进一步优化(如高并发、集群部署、Docker 化),可提供具体业务规模(预估 DAU/TPS/数据量),我可为您定制架构方案。

是否需要我提供:

  • systemd 服务文件模板(含内存限制 & 自启)
  • ✅ Nginx 反向X_X + 前端 history 模式完整配置
  • ✅ MySQL 生产级 my.cnf 调优参数
  • ✅ Ubuntu/CentOS 一键部署脚本(Shell)

欢迎随时提出 👍