部署到服务器
本教程将指导您将智能教学平台部署到 Ubuntu 服务器。
前提条件
- Ubuntu 22.04+ 服务器
- Docker 和 Docker Compose 已安装
- 域名 (可选,用于 HTTPS)
步骤
1. 克隆项目
bash
git clone https://github.com/JadeSnow7/graduationDesign.git
cd graduationDesign/code2. 配置环境变量
bash
cp deployment/.env.example .env编辑 .env 文件:
bash
# 数据库配置
DB_HOST=mysql
DB_PORT=3306
DB_NAME=education_db
DB_USER=root
DB_PASSWORD=your_secure_password
# JWT 密钥 (请使用随机生成的强密钥)
JWT_SECRET=your_jwt_secret_here
# AI 服务配置
LLM_BASE_URL=https://api.openai.com
LLM_API_KEY=your_openai_api_key
LLM_MODEL=gpt-4o-mini3. 启动服务
bash
docker-compose up -d --build4. 验证部署
bash
# 检查服务状态
docker-compose ps
# 验证后端健康检查
curl http://localhost:8080/healthz
# 验证 AI 服务
curl http://localhost:8001/healthz5. 配置反向代理 (可选)
使用 Nginx 配置 HTTPS:
nginx
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:5173;
}
location /api/ {
proxy_pass http://localhost:8080;
}
}常见问题
端口被占用
bash
# 检查端口占用
lsof -i :8080
# 修改 docker-compose.yml 中的端口映射数据库连接失败
- 确认 MySQL 容器已启动:
docker-compose ps - 检查环境变量配置
- 查看日志:
docker-compose logs mysql