2026-04-05 07:13:56 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
# 龙虾议事厅 - 开发环境快速启动脚本
|
|
|
|
|
|
|
|
|
|
|
|
echo "🏛️ 启动龙虾议事厅开发环境..."
|
|
|
|
|
|
|
2026-04-05 07:17:54 +08:00
|
|
|
|
# 检查并停止旧服务
|
|
|
|
|
|
echo "🧹 清理旧服务..."
|
2026-04-05 07:39:54 +08:00
|
|
|
|
|
|
|
|
|
|
# 方法 1: 使用 lsof 查找并杀死占用端口的进程
|
|
|
|
|
|
for port in 8000 3000; do
|
|
|
|
|
|
pid=$(lsof -t -i:$port 2>/dev/null)
|
|
|
|
|
|
if [ -n "$pid" ]; then
|
|
|
|
|
|
echo " 杀死占用端口 $port 的进程 (PID: $pid)..."
|
|
|
|
|
|
kill -9 $pid 2>/dev/null
|
|
|
|
|
|
fi
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
# 方法 2: 使用 pkill 清理
|
|
|
|
|
|
pkill -9 -f "manage.py runserver" 2>/dev/null
|
|
|
|
|
|
pkill -9 -f "npm start" 2>/dev/null
|
|
|
|
|
|
pkill -9 -f "node.*react-scripts" 2>/dev/null
|
|
|
|
|
|
|
2026-04-05 07:17:54 +08:00
|
|
|
|
sleep 2
|
|
|
|
|
|
|
2026-04-05 07:13:56 +08:00
|
|
|
|
# 启动后端
|
|
|
|
|
|
echo "📦 启动后端..."
|
|
|
|
|
|
cd backend
|
|
|
|
|
|
nohup python3 manage.py runserver 0.0.0.0:8000 > /tmp/meeting-backend.log 2>&1 &
|
|
|
|
|
|
BACKEND_PID=$!
|
2026-04-05 07:17:54 +08:00
|
|
|
|
sleep 2
|
|
|
|
|
|
if ps -p $BACKEND_PID > /dev/null; then
|
|
|
|
|
|
echo "✅ 后端已启动 (PID: $BACKEND_PID)"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "❌ 后端启动失败,请检查日志:/tmp/meeting-backend.log"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
2026-04-05 07:13:56 +08:00
|
|
|
|
|
|
|
|
|
|
# 启动前端
|
|
|
|
|
|
echo "📦 启动前端..."
|
|
|
|
|
|
cd ../frontend
|
|
|
|
|
|
nohup npm start > /tmp/meeting-frontend.log 2>&1 &
|
|
|
|
|
|
FRONTEND_PID=$!
|
2026-04-05 07:17:54 +08:00
|
|
|
|
sleep 3
|
|
|
|
|
|
if ps -p $FRONTEND_PID > /dev/null; then
|
|
|
|
|
|
echo "✅ 前端已启动 (PID: $FRONTEND_PID)"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "❌ 前端启动失败,请检查日志:/tmp/meeting-frontend.log"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
2026-04-05 07:13:56 +08:00
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo "✅ 开发环境启动完成!"
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📌 访问地址:"
|
|
|
|
|
|
echo " 前端:http://localhost:3000/"
|
|
|
|
|
|
echo " 后端 API: http://localhost:8000/api/v1/"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📌 日志文件:"
|
|
|
|
|
|
echo " 后端:/tmp/meeting-backend.log"
|
|
|
|
|
|
echo " 前端:/tmp/meeting-frontend.log"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📌 停止服务:"
|
|
|
|
|
|
echo " kill $BACKEND_PID $FRONTEND_PID"
|
|
|
|
|
|
echo ""
|