- 添加 Nginx 反向代理配置(支持 ngrok 域名) - 创建统一的 API 工具函数(自动适配域名) - 更新前端 API 配置支持相对路径 - 配置支付宝回调地址使用 ngrok URL - 优化 Docker Compose 配置(仅暴露 80 端口) - 添加完整的部署和配置文档
1.9 KiB
1.9 KiB
✅ 配置检查清单
已完成的检查
1. Nginx 配置 ✅
- ✅
nginx/nginx.conf语法正确 - ✅ upstream backend 配置正确
- ✅ proxy_pass 指向正确(
http://backend) - ✅ 前端静态文件路径正确(
/usr/share/nginx/html) - ✅ API 代理路径正确(
/api/→backend:8080)
2. Docker Compose 配置 ✅
- ✅ 服务定义完整(mysql, backend, nginx)
- ✅ 网络配置正确(app-network)
- ✅ 卷映射正确
- ✅ 依赖关系正确(nginx depends_on backend, backend depends_on mysql)
3. Dockerfile 配置 ✅
- ✅
Dockerfile.backend包含 wget(用于健康检查) - ✅
nginx/Dockerfile配置正确 - ✅ 多阶段构建配置正确
4. 环境变量配置 ✅
- ✅ docker-compose.yml 中环境变量与 application-prod.properties 匹配
- ✅ 数据库连接字符串正确
5. 文件路径检查 ✅
- ✅
frontend/dist目录存在(前端构建产物) - ✅
pom.xml存在(后端构建文件)
潜在问题及修复
已修复的问题
-
✅ 后端健康检查缺少 wget
- 修复:在 Dockerfile.backend 中添加
RUN apk add --no-cache wget
- 修复:在 Dockerfile.backend 中添加
-
✅ 环境变量不匹配
- 修复:将
SPRING_DATASOURCE_*改为DB_*以匹配 application-prod.properties
- 修复:将
部署前检查清单
在运行 docker-compose up 之前,请确保:
- 前端已构建:
cd frontend && npm run build - Docker 和 Docker Compose 已安装
- 端口 80、8080、3306 未被占用
- 有足够的磁盘空间(至少 2GB)
验证命令
# 检查 Docker Compose 配置
docker-compose config
# 检查服务状态
docker-compose ps
# 查看日志
docker-compose logs -f nginx
docker-compose logs -f backend
# 测试 Nginx 配置
docker exec demo-nginx nginx -t
访问地址
部署成功后:
- 🌐 前端:http://localhost
- 🔗 API:http://localhost/api
- 🏥 健康检查:http://localhost/health