elder-yudao-pro/deploy/local/start.sh

36 lines
1.5 KiB
Bash
Executable File
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.

#!/usr/bin/env bash
set -euo pipefail
# shellcheck disable=SC1091
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
ensure_runtime_dir
PID_FILE="$RUNTIME_DIR/server.pid"
if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
echo "后端已在运行,PID $(cat "$PID_FILE")。"; exit 1
fi
if ! mysql_query "$ELDER_DB_NAME" 'SELECT 1 FROM system_users LIMIT 1;' >/dev/null; then
echo "无法连接已初始化的 MySQL 数据库 $ELDER_DB_NAME,请先运行 initialize.sh。" >&2
exit 1
fi
MAVEN="$(resolve_maven)"
if [[ "${SKIP_BUILD:-0}" != "1" ]]; then
"$MAVEN" -B -ntp -pl yudao-server -am package -DskipTests
fi
JAR="$REPO_DIR/yudao-server/target/yudao-server.jar"
[[ -f "$JAR" ]] || { echo "未找到 $JAR,请先完成 Maven 构建。" >&2; exit 1; }
if (command -v lsof >/dev/null 2>&1 && lsof -nP -iTCP:"$ELDER_SERVER_PORT" -sTCP:LISTEN >/dev/null); then
echo "端口 $ELDER_SERVER_PORT 已被占用。" >&2; exit 1
fi
JAVA="$(resolve_java)"
export ELDER_DB_HOST ELDER_DB_PORT ELDER_DB_NAME ELDER_DB_USER ELDER_DB_PASSWORD
export ELDER_REDIS_HOST ELDER_REDIS_PORT ELDER_REDIS_DATABASE ELDER_REDIS_PASSWORD ELDER_SERVER_PORT
export ELDER_LOG_FILE="$RUNTIME_DIR/application.log"
nohup "$JAVA" -Xms256m -Xmx1024m -Dfile.encoding=UTF-8 -jar "$JAR" \
--spring.profiles.active=local,desktop >"$RUNTIME_DIR/stdout.log" 2>"$RUNTIME_DIR/stderr.log" &
echo $! > "$PID_FILE"
echo "后端已启动,PID $(cat "$PID_FILE")。健康检查:http://127.0.0.1:$ELDER_SERVER_PORT/actuator/health"