diff --git a/deploy_from_git.sh b/deploy_from_git.sh index a80b7de..bd1f69e 100755 --- a/deploy_from_git.sh +++ b/deploy_from_git.sh @@ -71,11 +71,25 @@ echo -e "${BLUE}[4/6] 复制JAR文件...${NC}" cp target/designhub-backend-1.0.0.jar ${APP_DIR}/designhub.jar echo -e "${BLUE}[5/6] 重启服务...${NC}" -systemctl restart designhub +# 先停止服务 +systemctl stop designhub 2>/dev/null || true +sleep 2 +# 确保端口5123没有被占用(清理僵尸Java进程) +pkill -9 -f "designhub.jar" 2>/dev/null || true +sleep 2 +# 确认端口已释放 +if ss -tlnp | grep -q ":5123"; then + echo "端口5123仍被占用,强制清理..." + fuser -k 5123/tcp 2>/dev/null || true + sleep 2 +fi +# 重置失败状态并启动服务 +systemctl reset-failed designhub 2>/dev/null || true +systemctl start designhub echo "" echo -e "${GREEN}等待服务启动...${NC}" -sleep 5 +sleep 15 echo "" echo -e "${BLUE}[6/6] 检查服务状态...${NC}"