ETest-Vue-FastAPI/DEPLOY-ALIYUN.md

4.3 KiB
Raw Permalink Blame History

ETest-LIMS 阿里云部署指南

快速开始

方式一Windows 本地测试

# 直接运行构建脚本
deploy-aliyun.bat

方式二:阿里云服务器部署

  1. 上传项目到服务器
# 在本地打包项目
tar -czvf etest-lims.tar.gz ETest-Vue-FastAPI/

# 上传到阿里云服务器
scp etest-lims.tar.gz root@<服务器IP>:/opt/
  1. 在服务器上解压并部署
# 登录服务器
ssh root@<服务器IP>

# 解压项目
cd /opt
tar -xzvf etest-lims.tar.gz
cd ETest-Vue-FastAPI

# 执行部署脚本
chmod +x deploy-aliyun.sh
./deploy-aliyun.sh

服务架构

┌─────────────────┐
│   Nginx (80)    │  ← 前端 (Vue.js)
│   etest-frontend│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  FastAPI (9099) │  ← 后端 API
│  etest-backend  │
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌───────┐  ┌────────┐
│ MySQL │  │ Redis  │
│(3306) │  │(6379)  │
└───────┘  └────────┘

端口映射

服务 容器端口 宿主机端口 说明
前端 80 80 Nginx 服务
后端 9099 9099 FastAPI 服务
MySQL 3306 3306 数据库
Redis 6379 6379 缓存服务

环境变量

后端环境变量

变量名 默认值 说明
APP_ENV prod 运行环境
DB_HOST mysql 数据库主机
DB_PORT 3306 数据库端口
DB_USERNAME cpy_admin 数据库用户名
DB_PASSWORD Tgzz2025+ 数据库密码
DB_DATABASE ruoyi-fastapi 数据库名
REDIS_HOST redis Redis 主机
REDIS_PORT 6379 Redis 端口

前端环境变量

变量名 默认值 说明
VITE_APP_BASE_API http://localhost:9099/prod-api 后端 API 地址

常用命令

# 查看服务状态
docker-compose -f docker-compose-aliyun.yml ps

# 查看日志
docker-compose -f docker-compose-aliyun.yml logs -f

# 查看后端日志
docker-compose -f docker-compose-aliyun.yml logs -f backend

# 查看前端日志
docker-compose -f docker-compose-aliyun.yml logs -f frontend

# 重启服务
docker-compose -f docker-compose-aliyun.yml restart

# 停止服务
docker-compose -f docker-compose-aliyun.yml down

# 停止并删除数据卷(⚠️ 会清空数据库)
docker-compose -f docker-compose-aliyun.yml down -v

阿里云安全组配置

需要在阿里云控制台配置安全组规则,开放以下端口:

端口 协议 授权对象 说明
80 TCP 0.0.0.0/0 HTTP 访问
9099 TCP 0.0.0.0/0 API 访问
3306 TCP 内网IP MySQL建议仅内网访问
6379 TCP 内网IP Redis建议仅内网访问

数据持久化

数据通过 Docker Volumes 持久化:

  • mysql_data - MySQL 数据
  • redis_data - Redis 数据

数据存储在 Docker 管理的卷中,即使容器删除,数据也不会丢失。

更新部署

# 1. 拉取最新代码
git pull

# 2. 重新构建并启动
docker-compose -f docker-compose-aliyun.yml down
docker-compose -f docker-compose-aliyun.yml build --no-cache
docker-compose -f docker-compose-aliyun.yml up -d

故障排查

1. 服务启动失败

# 查看详细日志
docker-compose -f docker-compose-aliyun.yml logs

# 检查端口占用
netstat -tlnp | grep 80
netstat -tlnp | grep 9099

2. 数据库连接失败

# 检查 MySQL 容器状态
docker-compose -f docker-compose-aliyun.yml ps mysql

# 进入 MySQL 容器检查
docker-compose -f docker-compose-aliyun.yml exec mysql mysql -u root -p

3. 前端无法访问后端

检查前端环境变量 VITE_APP_BASE_API 是否正确指向后端地址。

生产环境建议

  1. 修改默认密码 - 修改 MySQL 和 Redis 的默认密码
  2. 使用 HTTPS - 配置 SSL 证书
  3. 配置反向代理 - 使用 Nginx 或阿里云 SLB
  4. 定期备份 - 配置数据库自动备份
  5. 监控告警 - 配置服务监控和告警