|
|
преди 1 седмица | |
|---|---|---|
| .. | ||
| backend | преди 2 седмици | |
| nginx | преди 2 седмици | |
| redis | преди 1 седмица | |
| README.md | преди 2 седмици | |
本文档详细描述了 FastapiAdmin 项目的部署流程、环境要求、配置说明及常见问题排查方法。
FastapiAdmin 是一个基于 FastAPI 和 Vue3 的管理系统,包含后端 API、前端界面、移动端应用和文档网站。项目采用 Docker 容器化部署,便于在不同环境中快速部署和运行。
FastapiAdmin/
├── backend/ # 后端应用代码
├── frontend/ # 前端应用代码
├── devops/ # 部署配置文件
│ ├── backend/ # 后端部署目录
│ ├── mysql/ # MySQL 部署目录
│ ├── nginx/ # Nginx 部署目录
│ ├── redis/ # Redis 部署目录
│ └── README.md # 部署说明文档
├── deploy.sh # 一键部署脚本
└── docker-compose.yaml # Docker 编排文件
在部署项目之前,请确保服务器满足以下要求:
首先,检查系统是否已安装必要的依赖:
# 检查 Docker 版本
docker --version
# 检查 Docker Compose 版本
docker compose version
# 检查 Git 版本
git --version
# 检查 Node.js 版本
node --version
# 检查 npm 版本
npm --version
# 检查 pnpm 版本
pnpm --version
如果缺少任何依赖,请先安装它们。
如果尚未克隆项目代码,可以使用以下命令:
git clone https://gitee.com/tao__tao/fastapiadmin.git
cd fastapiadmin
项目提供了一键部署脚本 deploy.sh,可以自动完成从代码拉取到服务启动的全过程。
chmod +x deploy.sh
./deploy.sh
部署脚本会自动执行以下步骤:
部署脚本支持以下命令行参数:
./deploy.sh
执行完整的部署流程,包括检查依赖、停止容器、更新代码、构建镜像、启动容器和显示日志。
./deploy.sh --stop
停止所有正在运行的项目容器。
./deploy.sh --start
启动所有服务(等同于执行完整部署流程)。
./deploy.sh --logs
# 或简写
./deploy.sh -l
显示所有容器的日志信息。
./deploy.sh --help
# 或简写
./deploy.sh -h
显示脚本使用说明。
部署脚本的执行流程如下:
权限和依赖检查
停止现有容器
更新代码
构建前端(当前已注释,如需启用请取消注释 deploy.sh 中的 build_frontend 调用)
构建镜像和启动容器
显示容器状态和日志
部署完成后,可以通过以下地址访问各服务:
默认登录信息:
注意:实际部署时,请根据服务器配置修改域名或使用 IP 地址访问。
docker compose ps
# 查看所有服务的实时日志
docker compose logs -f
# 查看单个服务的实时日志(例如后端服务)
docker compose logs -f backend
docker compose down
docker compose restart
# 进入后端容器
docker compose exec backend bash
# 进入数据库容器
docker compose exec mysql bash
如果启动容器时出现端口冲突,请检查是否有其他服务占用了相同的端口,并在 docker-compose.yaml 中修改端口映射。
以下是可能需要修改的关键配置文件:
backend/env/.env.prod.pyfrontend/vite.config.ts 和 frontend/.env.productiondocker-compose.yamldevops/nginx/nginx.conf遇到问题时,建议先查看相关服务的日志:
# 查看后端服务日志
docker compose logs backend
# 查看 Nginx 服务日志
docker compose logs nginx
# 查看 MySQL 服务日志
docker compose logs mysql
# 查看 Redis 服务日志
docker compose logs redis
如有任何问题或需要技术支持,请联系项目维护者。