Files
FlashSaleSystem/start-system.sh
YoVinchen 396ba7f58e 项目配置和文档更新
- 更新 .gitignore 屏蔽 node_modules、logs、.claude 等目录
- 更新 CLAUDE.md 项目开发文档
- 添加 start-system.sh 系统启动脚本
2026-03-05 23:14:57 +08:00

119 lines
3.2 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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}"