forked from quant-speed-AI/Scoring-System
chore: 清理大文件和部署配置
This commit is contained in:
113
start-local.sh
Executable file
113
start-local.sh
Executable file
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "========================================"
|
||||
echo " 创赢未来评分系统 - 本地启动脚本"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
# 函数:检查端口并释放
|
||||
check_port() {
|
||||
local port=$1
|
||||
local pid=$(lsof -ti:$port 2>/dev/null)
|
||||
if [ -n "$pid" ]; then
|
||||
echo "端口 $port 被占用,正在释放..."
|
||||
kill -9 $pid 2>/dev/null || true
|
||||
sleep 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 释放端口
|
||||
check_port 8876
|
||||
check_port 5173
|
||||
|
||||
# 检查环境
|
||||
echo "✅ 检查环境..."
|
||||
|
||||
# 检查后端虚拟环境
|
||||
if [ ! -d "backend/venv" ]; then
|
||||
echo "❌ 后端虚拟环境不存在,正在创建..."
|
||||
cd backend
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
cd ..
|
||||
else
|
||||
echo "✅ 后端虚拟环境已存在"
|
||||
fi
|
||||
|
||||
# 检查前端依赖
|
||||
if [ ! -d "frontend/node_modules" ]; then
|
||||
echo "❌ 前端依赖不存在,正在安装..."
|
||||
cd frontend
|
||||
npm install
|
||||
cd ..
|
||||
else
|
||||
echo "✅ 前端依赖已存在"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " 启动服务"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
# 启动后端
|
||||
echo "🚀 启动后端服务 (http://localhost:8876)"
|
||||
cd backend
|
||||
source venv/bin/activate
|
||||
python manage.py migrate 2>/dev/null || echo "迁移可能需要手动执行"
|
||||
python manage.py runserver 0.0.0.0:8876 > /tmp/backend.log 2>&1 &
|
||||
BACKEND_PID=$!
|
||||
echo " 后端 PID: $BACKEND_PID"
|
||||
echo " 日志: /tmp/backend.log"
|
||||
cd ..
|
||||
|
||||
# 等待后端启动
|
||||
sleep 3
|
||||
|
||||
# 启动前端
|
||||
echo ""
|
||||
echo "🚀 启动前端服务 (http://localhost:5173)"
|
||||
cd frontend
|
||||
npm run dev > /tmp/frontend.log 2>&1 &
|
||||
FRONTEND_PID=$!
|
||||
echo " 前端 PID: $FRONTEND_PID"
|
||||
echo " 日志: /tmp/frontend.log"
|
||||
cd ..
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " 服务已启动!"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
echo "📱 前端页面: http://localhost:5173"
|
||||
echo "🔧 后端 API: http://localhost:8876"
|
||||
echo "📚 API文档: http://localhost:8876/api/docs/"
|
||||
echo "⚙️ 后台管理: http://localhost:8876/admin/"
|
||||
echo ""
|
||||
echo "💡 查看日志:"
|
||||
echo " tail -f /tmp/backend.log"
|
||||
echo " tail -f /tmp/frontend.log"
|
||||
echo ""
|
||||
echo "🛑 停止服务: 按 Ctrl+C"
|
||||
echo ""
|
||||
|
||||
# 保存 PID
|
||||
echo "$BACKEND_PID $FRONTEND_PID" > /tmp/scoring_pids
|
||||
|
||||
# 捕获终止信号
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " 正在停止服务..."
|
||||
echo "========================================"
|
||||
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null || true
|
||||
sleep 1
|
||||
echo "✅ 服务已停止"
|
||||
rm -f /tmp/scoring_pids
|
||||
exit 0
|
||||
}
|
||||
trap cleanup INT TERM
|
||||
|
||||
# 等待
|
||||
wait
|
||||
Reference in New Issue
Block a user