feat: 初始化考培练系统项目
- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
68
deploy/scripts/robust_start.sh
Executable file
68
deploy/scripts/robust_start.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
# 健壮的服务启动脚本
|
||||
|
||||
set -e
|
||||
|
||||
LOG_FILE="/var/log/kaopeilian_start.log"
|
||||
|
||||
log() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
cd /root/aiedu
|
||||
|
||||
log "=== 开始启动考培练系统服务 ==="
|
||||
|
||||
# 1. 检查Docker服务
|
||||
log "1. 检查Docker服务状态..."
|
||||
if ! systemctl is-active --quiet docker; then
|
||||
log "启动Docker服务..."
|
||||
systemctl start docker
|
||||
sleep 10
|
||||
fi
|
||||
|
||||
# 2. 清理可能的问题容器
|
||||
log "2. 清理问题容器..."
|
||||
docker compose down --remove-orphans 2>/dev/null || true
|
||||
|
||||
# 3. 分步启动服务(避免前端构建失败影响其他服务)
|
||||
log "3. 启动基础服务..."
|
||||
docker compose up -d mysql redis
|
||||
sleep 30
|
||||
|
||||
log "4. 启动后端服务..."
|
||||
docker compose up -d backend
|
||||
sleep 20
|
||||
|
||||
log "5. 尝试构建前端..."
|
||||
if docker compose build frontend; then
|
||||
log "前端构建成功,启动前端服务..."
|
||||
docker compose up -d frontend
|
||||
else
|
||||
log "前端构建失败,使用旧镜像启动..."
|
||||
docker compose up -d frontend || log "前端启动失败,跳过前端服务"
|
||||
fi
|
||||
|
||||
log "6. 启动Nginx..."
|
||||
docker compose up -d nginx
|
||||
|
||||
# 7. 检查服务状态
|
||||
log "7. 检查服务状态..."
|
||||
sleep 20
|
||||
docker compose ps
|
||||
|
||||
# 8. 健康检查
|
||||
log "8. 执行健康检查..."
|
||||
if curl -f -s https://aiedu.ireborn.com.cn/health > /dev/null; then
|
||||
log "✅ 后端服务正常"
|
||||
else
|
||||
log "❌ 后端服务异常"
|
||||
fi
|
||||
|
||||
if curl -f -s -I https://aiedu.ireborn.com.cn > /dev/null; then
|
||||
log "✅ 前端服务正常"
|
||||
else
|
||||
log "❌ 前端服务异常"
|
||||
fi
|
||||
|
||||
log "=== 服务启动完成 ==="
|
||||
Reference in New Issue
Block a user