- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
91 lines
2.5 KiB
Bash
91 lines
2.5 KiB
Bash
#!/bin/bash
|
|
# 环境状态检查脚本
|
|
|
|
echo "=== 考培练系统环境状态检查 ==="
|
|
echo "检查时间: $(date)"
|
|
echo ""
|
|
|
|
# 检查前端环境
|
|
echo "🌐 前端环境检查:"
|
|
if curl -s -f http://localhost:3001 > /dev/null; then
|
|
echo "✅ 前端服务运行正常 (http://localhost:3001)"
|
|
|
|
# 尝试获取环境信息
|
|
if command -v jq &> /dev/null; then
|
|
echo "📊 前端环境信息:"
|
|
curl -s http://localhost:3001/api/env 2>/dev/null | jq . || echo "无法获取环境信息"
|
|
fi
|
|
else
|
|
echo "❌ 前端服务不可访问"
|
|
fi
|
|
echo ""
|
|
|
|
# 检查后端环境
|
|
echo "🚀 后端环境检查:"
|
|
if curl -s -f http://localhost:8000/health > /dev/null; then
|
|
echo "✅ 后端服务运行正常 (http://localhost:8000)"
|
|
|
|
# 获取健康检查信息
|
|
if command -v jq &> /dev/null; then
|
|
echo "📊 后端环境信息:"
|
|
curl -s http://localhost:8000/health | jq .
|
|
else
|
|
echo "健康检查响应:"
|
|
curl -s http://localhost:8000/health
|
|
fi
|
|
else
|
|
echo "❌ 后端服务不可访问"
|
|
fi
|
|
echo ""
|
|
|
|
# 检查数据库连接
|
|
echo "🗄️ 数据库连接检查:"
|
|
if curl -s -f http://localhost:8000/health/db > /dev/null 2>&1; then
|
|
echo "✅ 数据库连接正常"
|
|
if command -v jq &> /dev/null; then
|
|
curl -s http://localhost:8000/health/db | jq .
|
|
fi
|
|
else
|
|
echo "❌ 数据库连接异常"
|
|
fi
|
|
echo ""
|
|
|
|
# 检查Redis连接
|
|
echo "🔴 Redis连接检查:"
|
|
if curl -s -f http://localhost:8000/health/redis > /dev/null 2>&1; then
|
|
echo "✅ Redis连接正常"
|
|
if command -v jq &> /dev/null; then
|
|
curl -s http://localhost:8000/health/redis | jq .
|
|
fi
|
|
else
|
|
echo "❌ Redis连接异常"
|
|
fi
|
|
echo ""
|
|
|
|
# 检查Docker容器状态
|
|
echo "🐳 Docker容器状态:"
|
|
if command -v docker &> /dev/null; then
|
|
echo "开发环境容器:"
|
|
docker-compose -f docker-compose.dev.yml ps 2>/dev/null || echo "无法获取开发环境容器状态"
|
|
echo ""
|
|
echo "生产环境容器:"
|
|
docker-compose ps 2>/dev/null || echo "无法获取生产环境容器状态"
|
|
else
|
|
echo "Docker未安装或不可访问"
|
|
fi
|
|
echo ""
|
|
|
|
# 检查端口占用
|
|
echo "🔌 端口占用检查:"
|
|
ports=(3001 8000 3306 6379)
|
|
for port in "${ports[@]}"; do
|
|
if lsof -i :$port > /dev/null 2>&1; then
|
|
echo "✅ 端口 $port 已占用"
|
|
lsof -i :$port | head -2 | tail -1 | awk '{print " 进程:", $2, "命令:", $1}'
|
|
else
|
|
echo "❌ 端口 $port 未占用"
|
|
fi
|
|
done
|
|
echo ""
|
|
|
|
echo "=== 环境检查完成 ===" |