97 lines
2.6 KiB
Bash
97 lines
2.6 KiB
Bash
#!/bin/bash
|
|
# AI Interview 服务器部署脚本
|
|
# ============================================
|
|
# 在服务器上执行此脚本来快速部署
|
|
#
|
|
# 使用方法:
|
|
# chmod +x setup-server.sh
|
|
# ./setup-server.sh
|
|
# ============================================
|
|
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo "AI Interview 部署脚本"
|
|
echo "=========================================="
|
|
|
|
# 项目目录
|
|
PROJECT_DIR="/www/wwwroot/ai-interview"
|
|
DEPLOY_DIR="$PROJECT_DIR/deploy"
|
|
|
|
# 进入部署目录
|
|
cd $DEPLOY_DIR
|
|
|
|
# 1. 复制环境变量文件
|
|
if [ ! -f ".env" ]; then
|
|
echo "[1/4] 创建 .env 文件..."
|
|
cp env.production .env
|
|
echo "✅ .env 文件已创建"
|
|
else
|
|
echo "[1/4] .env 文件已存在,跳过"
|
|
fi
|
|
|
|
# 2. 创建上传目录
|
|
echo "[2/4] 创建上传目录..."
|
|
mkdir -p $DEPLOY_DIR/uploads
|
|
chmod 755 $DEPLOY_DIR/uploads
|
|
echo "✅ 上传目录已创建"
|
|
|
|
# 3. 停止旧容器
|
|
echo "[3/4] 停止旧容器..."
|
|
docker-compose down 2>/dev/null || true
|
|
echo "✅ 旧容器已停止"
|
|
|
|
# 4. 构建并启动新容器
|
|
echo "[4/4] 构建并启动容器..."
|
|
docker-compose up -d --build
|
|
|
|
# 等待服务启动
|
|
echo ""
|
|
echo "等待服务启动..."
|
|
sleep 5
|
|
|
|
# 检查容器状态
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "容器状态:"
|
|
echo "=========================================="
|
|
docker-compose ps
|
|
|
|
# 检查服务健康
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "健康检查:"
|
|
echo "=========================================="
|
|
|
|
# 检查后端
|
|
if curl -s http://127.0.0.1:8000/health > /dev/null 2>&1; then
|
|
echo "✅ 后端服务正常 (http://127.0.0.1:8000)"
|
|
else
|
|
echo "❌ 后端服务未响应"
|
|
echo "查看后端日志: docker logs ai-interview-backend"
|
|
fi
|
|
|
|
# 检查前端
|
|
if curl -s http://127.0.0.1:3000 > /dev/null 2>&1; then
|
|
echo "✅ 前端服务正常 (http://127.0.0.1:3000)"
|
|
else
|
|
echo "❌ 前端服务未响应"
|
|
echo "查看前端日志: docker logs ai-interview-frontend"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "部署完成!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "访问地址:"
|
|
echo " - 用户端: http://interview.test.ai.ireborn.com.cn"
|
|
echo " - 后台: http://interview.test.ai.ireborn.com.cn/admin"
|
|
echo " - API: http://interview.test.ai.ireborn.com.cn/api/health"
|
|
echo ""
|
|
echo "常用命令:"
|
|
echo " - 查看日志: docker-compose logs -f"
|
|
echo " - 重启服务: docker-compose restart"
|
|
echo " - 停止服务: docker-compose down"
|
|
echo ""
|