72 lines
1.4 KiB
Bash
72 lines
1.4 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Nginx 反向代理部署脚本
|
||
|
|
|
||
|
|
echo "🚀 开始部署 AIGC 平台..."
|
||
|
|
|
||
|
|
# 检查 Docker
|
||
|
|
if ! command -v docker &> /dev/null; then
|
||
|
|
echo "❌ Docker 未安装,请先安装 Docker"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
if ! command -v docker-compose &> /dev/null; then
|
||
|
|
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# 构建前端
|
||
|
|
echo "📦 构建前端..."
|
||
|
|
cd frontend
|
||
|
|
if ! npm install; then
|
||
|
|
echo "❌ 前端依赖安装失败"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
if ! npm run build; then
|
||
|
|
echo "❌ 前端构建失败"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
cd ..
|
||
|
|
|
||
|
|
# 检查前端构建产物
|
||
|
|
if [ ! -d "frontend/dist" ]; then
|
||
|
|
echo "❌ 前端构建产物不存在,请检查构建过程"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "✅ 前端构建完成"
|
||
|
|
|
||
|
|
# 停止现有容器
|
||
|
|
echo "🛑 停止现有容器..."
|
||
|
|
docker-compose down
|
||
|
|
|
||
|
|
# 构建并启动服务
|
||
|
|
echo "🔨 构建并启动服务..."
|
||
|
|
docker-compose up -d --build
|
||
|
|
|
||
|
|
# 等待服务启动
|
||
|
|
echo "⏳ 等待服务启动..."
|
||
|
|
sleep 10
|
||
|
|
|
||
|
|
# 检查服务状态
|
||
|
|
echo "📊 检查服务状态..."
|
||
|
|
docker-compose ps
|
||
|
|
|
||
|
|
# 测试健康检查
|
||
|
|
echo "🏥 测试健康检查..."
|
||
|
|
if curl -f http://localhost/health > /dev/null 2>&1; then
|
||
|
|
echo "✅ Nginx 健康检查通过"
|
||
|
|
else
|
||
|
|
echo "⚠️ Nginx 健康检查失败"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "✅ 部署完成!"
|
||
|
|
echo "🌐 前端地址: http://localhost"
|
||
|
|
echo "🔗 API 地址: http://localhost/api"
|
||
|
|
echo ""
|
||
|
|
echo "查看日志: docker-compose logs -f"
|
||
|
|
echo "停止服务: docker-compose down"
|
||
|
|
|