feat(infra): 支持通过Tailscale跳板机隧道访问数据库并提供本地一键启动脚本
This commit is contained in:
1 parent
a03f426888
commit
92f0f0301c
2 files changed
+70
-2
No files matched your search
@@ -16,8 +16,8 @@ spring:
|
||||
#url: jdbc:mysql://120.53.244.187:3306/sict_builder?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
#url: jdbc:mysql://83.102.67.232:3306/judge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
#url: jdbc:mysql://127.0.0.1:3306/s_builder_kj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
#221 local dev env kingbase:
|
||||
url: jdbc:kingbase8://192.168.139.218:4321/training?currentSchema=public&useUnicode=true&characterEncoding=utf8
|
||||
#221 local dev env kingbase (via 100.70.157.41 tunnel):
|
||||
url: jdbc:kingbase8://127.0.0.1:4321/training?currentSchema=public&useUnicode=true&characterEncoding=utf8
|
||||
username: kingbase
|
||||
password: sict123456
|
||||
|
||||
|
||||
Executable
+68
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
# 智慧培训管理系统 本地一键启动脚本(含 Tailscale 跳板机数据库隧道自动打通)
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
echo "=== 1. 检查并建立 Kingbase 数据库 SSH 隧道 (通过 100.70.157.41) ==="
|
||||
if nc -zv -G 1 127.0.0.1 4321 >/dev/null 2>&1; then
|
||||
echo "数据库隧道已就绪 (127.0.0.1:4321)。"
|
||||
else
|
||||
echo "正在通过 wzbmatebook (100.70.157.41) 建立 4321 端口隧道..."
|
||||
pkill -f "ssh.*4321:192.168.139.218:4321" 2>/dev/null
|
||||
nohup ssh -f -N -L 4321:192.168.139.218:4321 -o ExitOnForwardFailure=yes -o ServerAliveInterval=15 -o ServerAliveCountMax=3 wzbmatebook > /dev/null 2>&1
|
||||
sleep 1
|
||||
if nc -zv -G 2 127.0.0.1 4321 >/dev/null 2>&1; then
|
||||
echo "数据库隧道建立成功!"
|
||||
else
|
||||
echo "警告:隧道建立异常,请检查与 100.70.157.41 的连通性。"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 2. 检查并启动 Redis 服务 ==="
|
||||
if redis-cli ping >/dev/null 2>&1; then
|
||||
echo "Redis 已在运行。"
|
||||
else
|
||||
echo "正在启动 Redis..."
|
||||
/opt/homebrew/opt/redis/bin/redis-server --daemonize yes
|
||||
sleep 1
|
||||
if redis-cli ping >/dev/null 2>&1; then
|
||||
echo "Redis 启动成功!"
|
||||
else
|
||||
echo "警告:Redis 启动可能失败,请检查。"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 检查后端服务 (8090) ==="
|
||||
if curl -s http://localhost:8090/captchaImage >/dev/null 2>&1; then
|
||||
echo "后端服务已在运行 (端口 8090)。"
|
||||
else
|
||||
echo "正在启动后端服务 (ruoyi-admin)..."
|
||||
mkdir -p "$SCRIPT_DIR/uploadPath"
|
||||
nohup java --add-opens java.base/java.lang=ALL-UNNAMED \
|
||||
--add-opens java.base/java.lang.reflect=ALL-UNNAMED \
|
||||
--add-opens java.base/java.util=ALL-UNNAMED \
|
||||
-jar "$SCRIPT_DIR/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar" \
|
||||
> "$SCRIPT_DIR/RuoYi-Vue/ruoyi-admin/backend.log" 2>&1 &
|
||||
echo "后端已在后台启动,PID: $!,日志写入 RuoYi-Vue/ruoyi-admin/backend.log"
|
||||
echo "等待后端就绪..."
|
||||
for i in {1..30}; do
|
||||
if curl -s http://localhost:8090/captchaImage | grep -q "200"; then
|
||||
echo "后端已就绪!"
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== 4. 检查前端服务 (8080) ==="
|
||||
if curl -s http://localhost:8080 >/dev/null 2>&1; then
|
||||
echo "前端服务已在运行 (http://localhost:8080)。"
|
||||
else
|
||||
echo "正在启动前端服务 (build_ui)..."
|
||||
cd "$SCRIPT_DIR/build_ui"
|
||||
npm run dev
|
||||
fi
|
||||
Reference in new issue
Block a user