From a39b63a38bfb7b4aa5ea17b93dc435e6831d4a35 Mon Sep 17 00:00:00 2001 From: Anexim Date: Sun, 5 Apr 2026 13:57:29 +0200 Subject: [PATCH] Delete .zscripts/start.sh --- .zscripts/start.sh | 126 --------------------------------------------- 1 file changed, 126 deletions(-) delete mode 100755 .zscripts/start.sh diff --git a/.zscripts/start.sh b/.zscripts/start.sh deleted file mode 100755 index 2793ca8..0000000 --- a/.zscripts/start.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh - -set -e - -# 获取脚本所在目录 -SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -BUILD_DIR="$SCRIPT_DIR" - -# 存储所有子进程的 PID -pids="" - -# 清理函数:优雅关闭所有服务 -cleanup() { - echo "" - echo "🛑 正在关闭所有服务..." - - # 发送 SIGTERM 信号给所有子进程 - for pid in $pids; do - if kill -0 "$pid" 2>/dev/null; then - service_name=$(ps -p "$pid" -o comm= 2>/dev/null || echo "unknown") - echo " 关闭进程 $pid ($service_name)..." - kill -TERM "$pid" 2>/dev/null - fi - done - - # 等待所有进程退出(最多等待 5 秒) - sleep 1 - for pid in $pids; do - if kill -0 "$pid" 2>/dev/null; then - # 如果还在运行,等待最多 4 秒 - timeout=4 - while [ $timeout -gt 0 ] && kill -0 "$pid" 2>/dev/null; do - sleep 1 - timeout=$((timeout - 1)) - done - # 如果仍然在运行,强制关闭 - if kill -0 "$pid" 2>/dev/null; then - echo " 强制关闭进程 $pid..." - kill -KILL "$pid" 2>/dev/null - fi - fi - done - - echo "✅ 所有服务已关闭" - exit 0 -} - -echo "🚀 开始启动所有服务..." -echo "" - -# 切换到构建目录 -cd "$BUILD_DIR" || exit 1 - -ls -lah - -# 初始化数据库(如果存在) -if [ -d "./next-service-dist/db" ] && [ "$(ls -A ./next-service-dist/db 2>/dev/null)" ] && [ -d "/db" ]; then - echo "🗄️ 初始化数据库从 ./next-service-dist/db 到 /db..." - cp -r ./next-service-dist/db/* /db/ 2>/dev/null || echo " ⚠️ 无法复制到 /db,跳过数据库初始化" - echo "✅ 数据库初始化完成" -fi - -# 启动 Next.js 服务器 -if [ -f "./next-service-dist/server.js" ]; then - echo "🚀 启动 Next.js 服务器..." - cd next-service-dist/ || exit 1 - - # 设置环境变量 - export NODE_ENV=production - export PORT=${PORT:-3000} - export HOSTNAME=${HOSTNAME:-0.0.0.0} - - # 后台启动 Next.js - bun server.js & - NEXT_PID=$! - pids="$NEXT_PID" - - # 等待一小段时间检查进程是否成功启动 - sleep 1 - if ! kill -0 "$NEXT_PID" 2>/dev/null; then - echo "❌ Next.js 服务器启动失败" - exit 1 - else - echo "✅ Next.js 服务器已启动 (PID: $NEXT_PID, Port: $PORT)" - fi - - cd ../ -else - echo "⚠️ 未找到 Next.js 服务器文件: ./next-service-dist/server.js" -fi - -# 启动 mini-services -if [ -f "./mini-services-start.sh" ]; then - echo "🚀 启动 mini-services..." - - # 运行启动脚本(从根目录运行,脚本内部会处理 mini-services-dist 目录) - sh ./mini-services-start.sh & - MINI_PID=$! - pids="$pids $MINI_PID" - - # 等待一小段时间检查进程是否成功启动 - sleep 1 - if ! kill -0 "$MINI_PID" 2>/dev/null; then - echo "⚠️ mini-services 可能启动失败,但继续运行..." - else - echo "✅ mini-services 已启动 (PID: $MINI_PID)" - fi -elif [ -d "./mini-services-dist" ]; then - echo "⚠️ 未找到 mini-services 启动脚本,但目录存在" -else - echo "ℹ️ mini-services 目录不存在,跳过" -fi - -# 启动 Caddy(如果存在 Caddyfile) -echo "🚀 启动 Caddy..." - -# Caddy 作为前台进程运行(主进程) -echo "✅ Caddy 已启动(前台运行)" -echo "" -echo "🎉 所有服务已启动!" -echo "" -echo "💡 按 Ctrl+C 停止所有服务" -echo "" - -# Caddy 作为主进程运行 -exec caddy run --config Caddyfile --adapter caddyfile