走啊走
加油

若依管理系统部署到服务器需要的配置是什么?

服务器价格表

将若依(RuoYi)管理系统部署到生产服务器,通常需要根据你选择的版本(单体版 ruoyi-vue 或前后端分离版 ruoyi-cloud)以及服务器操作系统进行配置。以下以最常见的 Linux (CentOS/Ubuntu) + JDK + MySQL + Redis + Nginx 环境为例,梳理核心配置清单和关键步骤。

1. 基础运行环境依赖

这是系统运行的基石,必须首先安装并配置好。

  • JDK:
    • 版本要求:若依 V4/V5 版本推荐 JDK 1.8(部分新版本支持 JDK 17,需查看具体文档)。
    • 配置:设置环境变量 JAVA_HOMEPATH
    • 验证:执行 java -version 确认无误。
  • 数据库 (MySQL):
    • 版本要求:推荐 MySQL 5.7MySQL 8.0
    • 字符集:务必设置为 utf8mb4,否则中文可能乱码。
    • 初始化:导入若依提供的 SQL 文件(通常在 sql 目录下),包括 ry_2023.sql 等基础表结构。
  • 缓存中间件 (Redis):
    • 版本要求:推荐 Redis 5.0+
    • 用途:存储验证码、Token、字典缓存等。
    • 注意:生产环境建议开启密码验证,并在 redis.conf 中调整 maxmemory 策略。
  • Nginx (前端服务):
    • 用途:作为反向X_X服务器,处理静态资源请求并将 API 请求转发给后端。
    • 配置:需要配置 upstream 指向后端 Java 服务的端口(默认 8080)。

2. 项目构建与打包配置

在本地开发机或服务器上编译项目前,需要修改配置文件以适配生产环境。

A. 修改后端配置文件 (application.yml)

进入 ruoyi-admin 模块的 src/main/resources 目录,修改 application-prod.yml(或直接在 application.yml 中覆盖配置):

spring:
  datasource:
    # 修改为生产环境的数据库地址、用户名、密码
    url: jdbc:mysql://192.168.x.x:3306/ry_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: your_password

  redis:
    # 修改为生产环境的 Redis 地址
    host: 192.168.x.x
    port: 6379
    password: your_redis_password

# 若依特有的配置
ruoyi:
  # 验证码开关,生产环境建议关闭或限制频率
  captchaEnabled: false
  # 文件上传路径,生产环境建议挂载云存储(如阿里云 OSS)或配置绝对路径
  profile: /var/www/ruoyi/uploadPath
  # 服务器地址(用于生成下载链接等)
  server:
    ip: 192.168.x.x

B. 修改前端配置文件 (vue.config.js.env.production)

若依 Vue 项目通常在根目录下的 vue.config.js.env.production 中配置:

// vue.config.js
module.exports = {
  // 生产环境构建路径
  outputDir: 'dist',
  // 静态资源路径
  publicPath: '/',
  // X_X配置(如果是直接部署 Nginx,这里可以简化,主要看 Nginx 配置)
  devServer: { ... },

  // 关键点:确保 assets 目录能正确访问
};

注意:若是前后端分离部署,前端打包后只需将 dist 目录内容放入 Nginx 的 html 目录即可,无需修改复杂的X_X逻辑,由 Nginx 统一处理。

3. Nginx 反向X_X配置

这是连接前后端的关键环节。假设后端运行在 localhost:8080,Nginx 监听 80 端口。

编辑 /etc/nginx/nginx.conf 或新建 /etc/nginx/conf.d/ruoyi.conf

server {
    listen 80;
    server_name your_domain.com; # 替换为你的域名或 IP

    # 前端静态资源
    location / {
        root /usr/share/nginx/html; # 指向前端 dist 目录
        index index.html index.htm;
        try_files $uri $uri/ /index.html; # 解决 Vue 路由刷新 404 问题
    }

    # 后端 API 接口转发
    location /sys {
        proxy_pass http://127.0.0.1:8080; # 转发到 SpringBoot 端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 如果涉及文件上传,可能需要调整 body 大小
        client_max_body_size 100m;
    }

    # 其他接口转发,根据实际配置调整
}

4. 启动脚本与权限管理

为了方便运维,建议编写简单的 Shell 脚本进行启动和日志管理。

  • 创建用户:不要使用 root 直接运行,建议创建专用用户 ruoyi
  • 目录规划
    mkdir -p /opt/ruoyi/{bin,logs,upload,config}
  • 启动命令示例 (start.sh):
    #!/bin/bash
    cd /opt/ruoyi/bin
    nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > /opt/ruoyi/logs/start.log 2>&1 &
    echo "RuoYi Admin started."
  • 防火墙与安全组
    • 开放 80 端口(Web 访问)。
    • 开放 8080 端口(仅限内网或特定 IP 访问,生产环境不建议对公网直接开放 8080)。
    • 开放 22 端口(SSH)。

5. 特殊注意事项

  • Docker 部署:如果你选择 Docker 方式,需要准备好 docker-compose.yml,定义 mysql, redis, java-app, nginx 四个服务及其网络依赖,配置更加自动化。
  • 多租户/集群:若依 Cloud 版本是微服务架构,需要额外配置注册中心(Nacos)、网关(Gateway)以及各个微服务的独立配置,复杂度较高。
  • 定时任务:检查 application.yml 中的 job.enabled 是否开启,并确保服务器时间同步。
  • 安全加固
    • 修改默认的 admin 账号密码。
    • 配置 HTTPS(通过 Nginx 申请 SSL 证书)。
    • 定期备份数据库。

总结

部署若依的核心流程是:安装环境 (JDK/MySQL/Redis) -> 配置数据库与代码参数 -> 打包项目 (Maven/NPM) -> 配置 Nginx 反向X_X -> 启动服务

建议在正式部署前,先在测试环境中完整走一遍流程,特别是跨域配置文件上传路径映射,这两处最容易在生产环境报错。