项目配置和文档更新
- 更新 .gitignore 屏蔽 node_modules、logs、.claude 等目录 - 更新 CLAUDE.md 项目开发文档 - 添加 start-system.sh 系统启动脚本
This commit is contained in:
119
start-system.sh
Normal file
119
start-system.sh
Normal file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 秒杀系统启动脚本
|
||||
|
||||
echo "========================================="
|
||||
echo " 秒杀系统启动脚本 v1.0 "
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 检查Java环境
|
||||
echo -e "${YELLOW}[1/4] 检查Java环境...${NC}"
|
||||
if ! command -v java &> /dev/null; then
|
||||
echo -e "${RED}❌ Java未安装,请先安装JDK 1.8+${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✅ Java环境正常${NC}"
|
||||
|
||||
# 检查Node环境
|
||||
echo -e "${YELLOW}[2/4] 检查Node环境...${NC}"
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo -e "${RED}❌ Node.js未安装,请先安装Node.js 16+${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✅ Node环境正常${NC}"
|
||||
|
||||
# 启动后端
|
||||
echo ""
|
||||
echo -e "${YELLOW}[3/4] 启动Spring Boot后端...${NC}"
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# 检查8080端口是否被占用
|
||||
if lsof -Pi :8080 -sTCP:LISTEN -t >/dev/null ; then
|
||||
echo -e "${YELLOW}⚠️ 端口8080已被占用,尝试停止现有服务...${NC}"
|
||||
kill -9 $(lsof -t -i:8080) 2>/dev/null
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
# 启动后端(后台运行)
|
||||
echo "正在启动后端服务..."
|
||||
nohup mvn spring-boot:run > logs/backend.log 2>&1 &
|
||||
BACKEND_PID=$!
|
||||
echo "后端PID: $BACKEND_PID"
|
||||
|
||||
# 等待后端启动
|
||||
echo "等待后端服务启动..."
|
||||
for i in {1..30}; do
|
||||
if curl -s http://localhost:8080/actuator/health > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✅ 后端服务启动成功!${NC}"
|
||||
break
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo -e "${RED}❌ 后端服务启动超时,请检查日志: logs/backend.log${NC}"
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
echo -n "."
|
||||
done
|
||||
|
||||
# 启动前端
|
||||
echo ""
|
||||
echo -e "${YELLOW}[4/4] 启动Vue前端...${NC}"
|
||||
cd flash-sale-frontend
|
||||
|
||||
# 检查依赖
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "安装前端依赖..."
|
||||
npm install --cache /tmp/npm-cache
|
||||
fi
|
||||
|
||||
# 检查3000端口
|
||||
if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then
|
||||
echo -e "${YELLOW}⚠️ 端口3000已被占用,使用其他端口...${NC}"
|
||||
fi
|
||||
|
||||
# 启动前端(后台运行)
|
||||
echo "正在启动前端服务..."
|
||||
nohup npm run dev > ../logs/frontend.log 2>&1 &
|
||||
FRONTEND_PID=$!
|
||||
echo "前端PID: $FRONTEND_PID"
|
||||
|
||||
# 等待前端启动
|
||||
sleep 3
|
||||
|
||||
# 显示访问信息
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo -e "${GREEN}✅ 系统启动完成!${NC}"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "访问地址:"
|
||||
echo -e " 前端应用: ${GREEN}http://localhost:3000${NC} 或 ${GREEN}http://localhost:3001${NC}"
|
||||
echo -e " 后端API: ${GREEN}http://localhost:8080${NC}"
|
||||
echo -e " API文档: ${GREEN}http://localhost:8080/doc.html${NC}"
|
||||
echo ""
|
||||
echo "测试账号:"
|
||||
echo " 普通用户: user / 123456"
|
||||
echo " 管理员: admin / 123456"
|
||||
echo ""
|
||||
echo "停止服务:"
|
||||
echo " 后端PID: $BACKEND_PID (kill $BACKEND_PID)"
|
||||
echo " 前端PID: $FRONTEND_PID (kill $FRONTEND_PID)"
|
||||
echo ""
|
||||
echo "查看日志:"
|
||||
echo " 后端日志: tail -f logs/backend.log"
|
||||
echo " 前端日志: tail -f logs/frontend.log"
|
||||
echo ""
|
||||
echo "========================================="
|
||||
|
||||
# 保存PID到文件
|
||||
echo "$BACKEND_PID" > .backend.pid
|
||||
echo "$FRONTEND_PID" > .frontend.pid
|
||||
|
||||
echo -e "${YELLOW}提示: 使用 ./stop-system.sh 停止所有服务${NC}"
|
||||
Reference in New Issue
Block a user