部署若依(RuoYi)微服务版对 Linux 操作系统的要求主要集中在基础环境依赖、资源规格以及系统配置三个方面。若依微服务版基于 Spring Cloud Alibaba 架构,组件较多(如 Nacos、Gateway、Seata 等),因此对环境的稳定性要求比单体版更高。
以下是具体的部署要求分析:
1. 操作系统版本与架构
- 发行版选择:推荐使用主流的 Linux 发行版,如 CentOS 7/8、Ubuntu 20.04/22.04 LTS 或 Debian。这些系统在兼容性、社区支持和长期维护方面表现最好。
- 注意:避免使用过于老旧的版本(如 CentOS 6),因为部分新版本的 JDK 和中间件可能不再支持。
- 架构类型:目前主流推荐 x86_64 (AMD64) 架构。如果服务器是 ARM 架构(如华为鲲鹏、AWS Graviton),需确认所有依赖组件(特别是 JDK、Nacos、Redis 等)是否有对应的 ARM 版本镜像或安装包。
2. 核心软件环境依赖
这是最关键的部分,若依微服务版强依赖以下组件,必须提前安装并配置好版本:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| JDK | JDK 1.8 或 JDK 17 | 取决于具体项目分支。大多数经典微服务项目基于 JDK 1.8;若使用较新的 RuoYi-Vue-Cloud 版本,可能支持 JDK 17。严禁混用不同大版本的 JDK。 |
| Maven | 3.6.x + | 用于编译打包。建议安装 3.6.0 以上版本以兼容最新的 Spring Cloud 依赖。 |
| Node.js | 14.x 或 16.x + | 仅前端模块需要,用于构建 ruoyi-ui 和 ruoyi-admin 的前端资源。 |
| MySQL | 5.7 或 8.0+ | 数据库存储。微服务版通常依赖 MySQL 的 JSON 字段或特定语法,建议 5.7 以上。 |
| Redis | 5.0+ 或 6.x | 缓存服务,用于 Token 存储、分布式锁等。 |
| Nacos | 2.x | 服务注册中心与配置中心(Spring Cloud Alibaba 核心)。 |
| Sentinel | 1.8.x + | 流量控制与熔断降级(可选但推荐)。 |
| Docker & Docker Compose | 最新版 | 强烈推荐。若依官方文档通常提供 docker-compose.yml 文件,通过容器化部署可以极大简化环境依赖问题,避免“在我电脑上能跑”的问题。 |
3. 硬件资源规格(最小 vs 推荐)
由于微服务架构涉及多个独立进程(网关、认证服务、业务服务、注册中心等),内存消耗较大。
- CPU:
- 最小:2 核
- 推荐:4 核及以上(多实例部署时建议更多)
- 内存 (RAM):
- 最小:4 GB(仅运行开发测试环境,生产环境极易 OOM)
- 推荐:8 GB – 16 GB(生产环境建议至少 8GB,若开启全量监控和日志收集,建议 16GB+)
- 磁盘空间:
- 最小:20 GB
- 推荐:50 GB +(需预留日志文件增长空间及数据库备份空间)
- 网络:
- 内网带宽:建议千兆局域网,微服务间调用频繁。
- 网络带宽:根据并发量决定,需开放必要端口(如 80, 443, 8848, 9200 等)。
4. 系统级配置要求
在 Linux 底层,还需要进行以下优化以确保服务稳定:
- 防火墙与安全组:
- 需放行应用端口(默认 8080, 9200 等)、Nacos 端口(8848, 9848, 9849)、Redis 端口(6379)、MySQL 端口(3306)。
- 生产环境建议使用
firewalld或iptables严格限制访问来源,或配合云厂商的安全组策略。
- 内核参数优化:
- 文件句柄数:微服务连接数多,需修改
/etc/security/limits.conf,将nofile调至65535以上。 - TCP 连接数:修改
/etc/sysctl.conf,调整tcp_max_syn_backlog和somaxconn以应对高并发连接。
- 文件句柄数:微服务连接数多,需修改
- 时间同步:
- 微服务严重依赖时间一致性(用于 Token 验证、分布式锁),务必配置
chrony或ntp确保所有节点时间同步。
- 微服务严重依赖时间一致性(用于 Token 验证、分布式锁),务必配置
- 字符集:
- 确保系统默认字符集为
UTF-8,防止中文乱码。
- 确保系统默认字符集为
5. 部署方式建议
针对 Linux 环境,若依微服务版有两种主要部署路径:
-
Docker 容器化部署(首选):
- 利用官方提供的
docker-compose.yml。 - 优点:环境隔离,一键启动所有中间件(Nacos, MySQL, Redis 等),无需手动安装复杂依赖,回滚方便。
- 前提:服务器需安装 Docker 和 Docker Compose。
- 利用官方提供的
-
传统物理机/虚拟机部署:
- 手动安装 JDK、MySQL、Redis、Nacos 二进制包。
- 优点:对底层资源控制更细粒度。
- 缺点:运维成本高,容易因版本冲突导致环境不一致。
总结
若要顺利部署若依微服务版,最稳妥的方案是在一台 CentOS 7/8 或 Ubuntu 20.04 服务器上,分配 4 核 CPU / 8G 内存,并安装 Docker。这样可以直接通过 docker-compose up -d 拉起整个微服务集群,自动解决大部分环境依赖和配置问题,是目前企业级生产环境的主流做法。
云服务器