RuoYi AI 框架部署操作指南

RuoYi AI 框架部署操作指南

本文介绍RuoYi AI框架的核心信息和完整部署流程,从框架介绍、部署准备、分步部署到验证运行,为你详细梳理。

一、RuoYi AI 框架介绍

1. 核心定位

RuoYi AI 是基于 RuoYi 通用后台管理框架 扩展的人工智能应用快速开发框架,核心目标是降低AI应用的开发门槛,让开发者无需关注复杂的AI模型底层实现和后台管理系统搭建,只需聚焦业务场景,即可快速构建具备AI能力的管理系统和业务应用。

2. 核心特性

  • 集成主流AI生态:无缝对接PyTorch、TensorFlow、OpenCV等AI核心库,同时内置常用预训练模型(文本分类、目标检测、OCR识别等),开箱即用;
  • 复用RuoYi成熟生态:继承RuoYi的后台权限管理、菜单管理、用户管理、日志管理等基础功能,无需重复开发后台基建;
  • 前后端分离架构:延续RuoYi的前后端分离设计(前端Vue/Element UI,后端Spring Boot/Spring Cloud),支持微服务部署和单体部署两种模式;
  • 模块化设计:AI功能模块(模型管理、任务调度、数据标注、推理服务)与业务模块解耦,可按需插拔和扩展;
  • 便捷的推理服务:提供RESTful API接口,支持在线推理和批量推理,方便前端调用或第三方系统集成。

3. 适用场景

适用于快速构建中小型AI应用,如:企业内部智能审核系统、文档OCR识别平台、简单图像分类系统、智能问答机器人、数据标注管理平台等。

二、 部署前置准备

1. 环境要求

部署前必须确保服务器/本地环境满足以下条件,避免部署失败:

环境/工具 最低版本要求 备注
JDK 1.8 或 11 推荐JDK 8,兼容RuoYi底层依赖
Maven 3.6.0+ 用于后端项目编译打包
Node.js 14.0.0+ 用于前端项目打包构建(含npm/yarn)
Python 3.7+ 用于AI模型运行、推理服务部署
MySQL 5.7 或 8.0 存储系统配置、用户信息、AI任务数据等
Redis 5.0+ 用于缓存、分布式锁(微服务模式必选,单体模式可选)
显卡(可选) NVIDIA GPU(算力3.5+) 若需GPU加速推理(如深度学习模型),需安装CUDA 10.2+、cuDNN 7.6+

2. 源码获取

RuoYi AI 源码主要通过Gitee/GitHub获取(官方主推Gitee):

  • Gitee地址(推荐):https://gitee.com/ruoyi-vue/RuoYi-AI

  • GitHub地址:https://github.com/yangzongzhuan/RuoYi-AI

  • 克隆命令(Gitee):

    bash 复制代码
    git clone https://gitee.com/ruoyi-vue/RuoYi-AI.git

三、 分步部署操作

RuoYi AI 支持单体部署 (快速上手,适合测试/小型应用)和微服务部署(适合生产环境/大型应用),以下优先介绍最常用的单体部署流程,最后补充微服务部署要点。

步骤1:数据库初始化

  1. 打开MySQL客户端,新建数据库(编码格式:UTF-8/UTF8MB4):

    sql 复制代码
    CREATE DATABASE ruoyi_ai CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  2. 进入RuoYi AI源码目录,找到数据库脚本:

    • 路径:/sql/ruoyi_ai.sql
  3. 执行脚本:可通过Navicat、DBeaver等工具导入执行,或通过MySQL命令行执行:

    bash 复制代码
    mysql -u root -p ruoyi_ai < /你的源码路径/sql/ruoyi_ai.sql
  4. 验证:执行完成后,数据库会自动生成对应的表(如sys_userai_model等),表示初始化成功。

步骤2:后端项目配置与打包

  1. 进入后端项目目录(单体模式核心目录:/ruoyi-ai-admin

  2. 修改配置文件:找到/src/main/resources/application.yml,修改以下核心配置(适配你的本地/服务器环境):

    yaml 复制代码
    # 数据库配置
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/ruoyi_ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root  # 你的MySQL用户名
        password: 123456  # 你的MySQL密码
      # Redis配置(若启用)
      redis:
        host: localhost
        port: 6379
        password:  # 你的Redis密码(无则留空)
    # AI相关配置(可选,默认无需修改,如需自定义模型路径可调整)
    ai:
      model:
        path: ./ai-models/  # 本地模型存储路径
  3. 编译打包:使用Maven执行打包命令(需确保Maven环境已配置好环境变量):

    bash 复制代码
    # 进入源码根目录
    cd /你的源码路径/RuoYi-AI
    # 清理并打包(跳过测试用例,加快打包速度)
    mvn clean package -Dmaven.test.skip=true
  4. 获取打包产物:打包成功后,在/ruoyi-ai-admin/target/目录下,会生成ruoyi-ai-admin-xxx.jar(xxx为版本号),即为后端可执行JAR包。

步骤3:前端项目配置与打包

  1. 进入前端项目目录:/ruoyi-ai-ui

  2. 安装依赖:首先执行依赖安装命令(使用npm或yarn均可):

    bash 复制代码
    # 进入前端目录
    cd /你的源码路径/RuoYi-AI/ruoyi-ai-ui
    # npm安装依赖
    npm install
    # 若npm安装缓慢,可切换淘宝镜像:npm config set registry https://registry.npmmirror.com/
  3. 修改接口配置:找到前端配置文件/src/api/base.js(或/src/utils/request.js),修改后端接口地址(确保前端能访问到后端服务):

    javascript 复制代码
    // 示例:修改后端基础地址(本地部署默认后端端口为8080,需与后端配置一致)
    const baseUrl = process.env.NODE_ENV === 'production' 
      ? 'http://你的服务器IP:8080'  // 生产环境(服务器部署)
      : 'http://localhost:8080';    // 开发/本地环境
  4. 打包构建:执行前端打包命令,生成静态资源文件:

    bash 复制代码
    # 生产环境打包
    npm run build:prod
  5. 获取打包产物:打包成功后,在/ruoyi-ai-ui/dist/目录下,会生成所有静态资源(html、css、js等),即为前端部署文件。

步骤4:服务部署与启动

(1) 后端服务启动

两种启动方式(本地测试/服务器部署均适用):

  1. 命令行直接启动:

    bash 复制代码
    # 进入JAR包所在目录
    cd /你的JAR包路径/ruoyi-ai-admin/target
    # 启动后端服务(指定端口可选,默认8080,若端口被占用可修改:--server.port=8081)
    java -jar ruoyi-ai-admin-xxx.jar --server.port=8080
  2. 后台常驻启动(服务器生产环境推荐,避免终端关闭后服务停止):

    bash 复制代码
    # nohup后台启动,输出日志到nohup.out
    nohup java -jar ruoyi-ai-admin-xxx.jar > nohup.out 2>&1 &
  3. 验证后端:访问 http://你的IP:8080/api/actuator/health,若返回 {"status":"UP"},表示后端服务启动成功。

(2) 前端服务部署

前端静态资源需通过Web服务器托管(推荐Nginx,也可使用Tomcat),以下以Nginx为例:

  1. 复制前端打包产物:将/ruoyi-ai-ui/dist/下的所有文件,复制到Nginx的网站根目录(默认:/usr/local/nginx/html/(Linux)或 nginx-xxx/html/(Windows))

  2. 修改Nginx配置:编辑Nginx配置文件nginx.conf(路径:/usr/local/nginx/conf/(Linux)),配置反向代理(解决跨域问题):

    nginx 复制代码
    server {
        listen       80;  # 前端访问端口
        server_name  localhost;  # 你的服务器IP或域名
    
        # 前端静态资源根目录
        root   html;
        index  index.html index.htm;
    
        # 反向代理:将前端/api请求转发到后端服务
        location /api/ {
            proxy_pass http://localhost:8080/api/;  # 后端服务地址(需与后端端口一致)
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    
        # 解决Vue路由刷新404问题
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
  3. 启动/重启Nginx:

    bash 复制代码
    # Linux 重启Nginx
    /usr/local/nginx/sbin/nginx -s reload
    # Windows 重启Nginx:双击nginx.exe(首次启动),或执行 nginx -s reload
  4. 验证前端:访问 http://你的IP(默认80端口),若能看到RuoYi AI的登录页面,说明前端部署成功。

步骤5:系统登录与验证

  1. 访问系统:打开浏览器,输入 http://你的IP(前端访问地址)
  2. 登录:使用默认账号密码登录(数据库初始化后自带):
    • 用户名:admin
    • 密码:admin123
  3. 功能验证:
    • 验证基础功能:登录后可访问"系统管理"模块(用户、角色、菜单),确认后台基建正常;
    • 验证AI功能:访问"AI管理"模块(模型管理、任务调度),可尝试上传简单预训练模型或执行内置测试任务,确认AI模块正常运行。

四、 微服务部署补充要点

若你需要在生产环境使用微服务部署模式,核心差异点如下:

  1. 环境额外要求:需安装Nacos(服务注册中心,2.0+版本)、Sentinel(限流熔断,可选)
  2. 源码目录:核心模块为/ruoyi-ai-gateway(网关)、/ruoyi-ai-system(系统服务)、/ruoyi-ai-ai(AI核心服务)等
  3. 配置调整:
    • 所有微服务的application.yml需配置Nacos地址;
    • 数据库、Redis配置需在各服务中统一调整;
  4. 打包与启动:按微服务模块分别打包,先启动Nacos,再依次启动网关、系统服务、AI服务等,最后部署前端(前端配置无需修改,只需指向网关端口)。

五、 常见问题排查

  1. 后端启动失败:检查MySQL/Redis是否启动、配置文件中的账号密码是否正确、端口是否被占用;
  2. 前端访问空白:检查Nginx配置是否正确、前端打包产物是否完整复制到Nginx根目录、反向代理地址是否指向后端正确端口;
  3. AI模型推理失败:检查Python环境是否安装对应依赖(可执行pip install -r requirements.txt,依赖文件在/ai目录下)、模型路径是否配置正确。

总结

  1. RuoYi AI是基于RuoYi扩展的AI快速开发框架,集成主流AI库和成熟后台基建,开箱即用;
  2. 核心部署流程:数据库初始化 → 后端配置打包 → 前端配置打包 → Nginx托管前端+后端启动;
  3. 关键注意点:环境版本需达标、配置文件(数据库/接口地址)需适配本地/服务器、生产环境推荐后台启动后端+Nginx托管前端。
相关推荐
TDengine (老段)14 小时前
TDengine JAVA 语言连接器入门指南
java·大数据·开发语言·数据库·python·时序数据库·tdengine
yaoxin52112314 小时前
282. Java Stream API - 从 Collection 或 Iterator 创建 Stream
java
indexsunny14 小时前
互联网大厂Java面试实战:Spring Boot、微服务与Kafka在电商场景中的应用
java·spring boot·redis·junit·kafka·mockito·microservices
悟能不能悟14 小时前
openfeign 返回void和ResponseEntity的区别
java
C雨后彩虹14 小时前
ReentrantLock 源码解析:AQS 核心原理
java·reentrantlock·lock
董世昌4114 小时前
如何声明一个类?类如何继承?
java·开发语言·前端
企微自动化14 小时前
企业微信 API 开发:如何实现外部群消息主动推送
java·开发语言·spring
艾莉丝努力练剑14 小时前
【QT】初识QT:背景介绍
java·运维·数据库·人工智能·qt·安全·gui
静心观复14 小时前
重构代码如何写提示词
ai