若依前后端分离版在Linux服务器上运行需要什么配置?

在 Linux 服务器上部署若依(RuoYi)前后端分离版,主要需要满足后端运行环境前端构建产物以及基础系统资源三方面的配置要求。以下是详细的配置指南:

1. 后端环境配置(Spring Boot + MyBatis Plus)

若依后端基于 Spring Boot 开发,是运行的核心部分。

  • JDK 版本
    • 推荐:JDK 1.8 (Java 8) 或 JDK 17(取决于你使用的若依具体版本,旧版多配 1.8,新版如 RuoYi-Vue-Plus 可能支持 17+)。
    • 检查命令java -version
    • 安装示例sudo apt install openjdk-8-jdk (Ubuntu) 或 yum install java-1.8.0-openjdk-devel (CentOS)。
  • 数据库 (MySQL)
    • 版本:MySQL 5.7 或 MySQL 8.0(需与项目配置文件 application.yml 中的驱动版本匹配)。
    • 字符集:必须设置为 utf8mb4,排序规则为 utf8mb4_general_ciutf8mb4_0900_ai_ci,否则会出现中文乱码或特殊字符报错。
    • 初始化:需导入若依提供的 SQL 脚本 (ruoyi.sql)。
  • Redis(可选但强烈推荐):
    • 若依默认开启 Redis 缓存以优化性能(验证码、Token 存储等)。
    • 版本:Redis 5.0+。
    • 注意:如果服务器未安装 Redis,需在 application.yml 中注释掉 Redis 相关配置,否则启动会报错。
  • 其他依赖
    • 确保服务器防火墙开放了后端端口(默认 8080)。
    • 确保安装了 git(用于拉取代码)。

2. 前端环境配置(Vue.js)

由于是前后端分离,前端不需要在 Linux 上安装 Node.js 进行开发,而是直接部署编译后的静态文件

  • 构建步骤
    1. 在本地开发机(Windows/Mac/Linux)完成 npm installnpm run build:prod
    2. 生成的文件位于 ruoyi-ui/dist/ 目录。
  • Linux 服务器无需
    • 不需要安装 Node.js、npm 或 Vue CLI。
    • 不需要运行 npm start
  • 部署方式:将 dist 文件夹内的所有文件上传至 Linux 服务器的指定目录(如 /var/www/html/ruoyi-ui)。

3. Web 服务器配置(Nginx)

这是连接前端静态资源和后端 API 的关键,负责反向X_X和跨域处理。

  • 软件:Nginx(主流选择)。
  • 核心配置逻辑
    1. 静态资源托管:将 Nginx 的 root 指向存放前端 dist 文件的目录。
    2. 反向X_X:将所有非静态请求(如 /app, /system/user 等)转发到后端的 Spring Boot 服务地址(通常是 http://localhost:8080 或内网 IP)。
    3. WebSocket 支持:若依使用了 WebSocket 进行消息推送,需在 Nginx 配置中添加 UpgradeConnection 头。
  • 示例 Nginx 配置片段

    server {
        listen 80;
        server_name your-domain.com; # 替换为你的域名或IP
    
        # 前端静态资源
        location / {
            root /var/www/html/ruoyi-ui; # 前端 dist 目录路径
            index index.html;
            try_files $uri $uri/ /index.html; # 解决 Vue 路由刷新 404 问题
        }
    
        # 后端接口X_X
        location /app {
            proxy_pass http://127.0.0.1:8080; # 后端服务地址
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
    
            # WebSocket 支持
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }

4. 系统资源建议(最小 vs 推荐)

根据并发量不同,配置需求有所差异:

配置项 最小配置 (测试/个人使用) 推荐配置 (生产环境/小团队)
CPU 1 Core 2 Cores
内存 2 GB 4 GB (Spring Boot + MySQL + Redis 较吃内存)
磁盘 20 GB SSD 40 GB + SSD (日志和数据库增长较快)
带宽 1 Mbps 5 Mbps+ (视用户访问图片/文件而定)

5. 关键注意事项

  1. 跨域问题:Nginx 反向X_X完美解决了前后端跨域问题,无需在后端修改 CORS 配置。
  2. 权限问题:确保 Nginx 有权限读取前端目录,且 Java 进程有权限写入日志目录(通常 /logs)。
  3. 进程守护:建议使用 systemd 管理 Java 进程,防止服务重启后挂掉。
    • 创建 /etc/systemd/system/ruoyi.service 配置自动启动。
  4. 安全组:如果是云服务器(阿里云/腾讯云/AWS),务必在控制台的安全组中放行 80 (Nginx)、22 (SSH) 和 8080 (可选,仅调试用) 端口。

总结流程
安装 JDK & MySQL -> 启动后端 Jar 包 -> 编译前端 -> 上传前端文件 -> 配置 Nginx 反向X_X -> 启动 Nginx。

未经允许不得转载:CLOUD技术博 » 若依前后端分离版在Linux服务器上运行需要什么配置?