部署文档

本文档介绍如何在服务器上部署有学教育智慧教育管理平台,包括环境准备、基础服务安装、应用部署及运维维护。

概述

有学教育平台基于 Java 17 / Spring Boot 3 技术栈构建,采用前后端分离架构。部署前请确保服务器满足最低配置要求。

💡 提示:推荐使用 Linux 服务器(CentOS 7+ / Ubuntu 20.04+)进行生产部署,Windows 仅用于开发测试。

环境要求

组件版本要求说明
JDK17+后端运行环境
MySQL8.0+数据库存储
Redis6.0+缓存与会话
Node.js18+前端构建
Nginx1.18+反向代理

基础环境安装

安装 JDK 17

# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-17-jdk

# CentOS/RHEL
sudo yum install java-17-openjdk-devel

# 验证
java -version

安装 MySQL 8.0

# Ubuntu
sudo apt install mysql-server

# CentOS
sudo yum install mysql-server

# 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld

安装 Redis

sudo apt install redis-server
sudo systemctl start redis
sudo systemctl enable redis

安装 MinIO(可选)

MinIO 用于存储课件、录播视频等教学资源文件,生产环境推荐部署。

# 下载 MinIO
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

# 启动
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=your_password \
  ./minio server /data --console-address ":9001"

数据库配置

  1. 创建数据库:CREATE DATABASE youxue_edu DEFAULT CHARACTER SET utf8mb4;
  2. 创建用户并授权:GRANT ALL ON youxue_edu.* TO 'youxue'@'%' IDENTIFIED BY 'your_password';
  3. 导入初始化脚本:mysql -u youxue -p youxue_edu < youxue_edu.sql

后端服务部署

配置 application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/youxue_edu?useSSL=false
    username: youxue
    password: your_password
  redis:
    host: localhost
    port: 6379

打包与启动

# 打包
mvn clean package -DskipTests

# 启动
java -jar -Xms512m -Xmx2g gxxcdata-service-admin.jar

# 后台运行(推荐 systemd)
sudo systemctl start youxue-admin

前端部署

# 构建
npm install
npm run build

# 将 dist 目录部署到 Nginx
sudo cp -r dist/* /var/www/youxue-edu/

服务验证

部署完成后,依次验证以下服务:

  • 访问 http://your-server/ 确认前端正常
  • 访问 http://your-server/api/admin/health 确认后端健康
  • 登录系统,测试排课、在线课堂等核心功能是否正常

常见问题

Q:后端启动报数据库连接失败?

A:检查 application.yml 中的数据库地址、用户名、密码是否正确,确认 MySQL 服务已启动。

Q:前端页面空白?

A:检查 Nginx 配置是否正确,确保 try_files 指向 index.html,查看浏览器控制台是否有报错。