Files
goalfylearning-admin/scripts/start.sh

54 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# 设置错误时退出
set -e
# 设置颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}启动 Goalfymax Admin 服务...${NC}"
# 切换到项目根目录
cd "$(dirname "$0")/.."
# 检查是否已经有服务在运行
if [ -f "admin-server.pid" ]; then
PID=$(cat admin-server.pid)
if ps -p $PID > /dev/null 2>&1; then
echo -e "${YELLOW}服务已经在运行 (PID: $PID)${NC}"
echo -e "${YELLOW}如需重启,请先执行 ./scripts/stop.sh${NC}"
exit 1
else
# 删除过期的 PID 文件
rm -f admin-server.pid
fi
fi
# 创建日志目录
mkdir -p logs
# 启动服务
echo -e "${YELLOW}正在启动服务...${NC}"
nohup ./admin-server --config etc/config.yaml > logs/admin-server.log 2>&1 &
PID=$!
# 保存 PID
echo $PID > admin-server.pid
# 等待服务启动
sleep 2
# 检查服务是否启动成功
if ps -p $PID > /dev/null 2>&1; then
echo -e "${GREEN}✓ 服务启动成功 (PID: $PID)${NC}"
echo -e "${GREEN}✓ 日志文件: logs/admin-server.log${NC}"
echo -e "${GREEN}✓ 服务端口: 8087${NC}"
else
echo -e "${RED}✗ 服务启动失败${NC}"
echo -e "${RED}请检查日志文件: logs/admin-server.log${NC}"
rm -f admin-server.pid
exit 1
fi