优化逻辑
This commit is contained in:
+17
-4
@@ -26,8 +26,8 @@ FRONTEND_PORT=9501 # admin 管理后台 nginx 容器
|
||||
BACKEND_PORT=9502 # 后端 API/WebSocket 容器
|
||||
LIVEWEB_PORT=9503 # live 用户端(PC 直播页) nginx 容器
|
||||
LIVE_UDP_PORT="${KRA_LIVE_UDP_PORT:-9504}" # WebRTC 音视频固定 UDP 端口(与 9501-9503 顺延配套)
|
||||
LIVE_PUBLIC_IP="${KRA_LIVE_PUBLIC_IP:-192.168.2.226}" # 留空时从站点域名解析
|
||||
LIVE_HOST="${KRA_LIVE_HOST:-live.fuhua91.com}"
|
||||
LIVE_PUBLIC_IP="${KRA_LIVE_PUBLIC_IP:-}" # 留空时从站点域名解析
|
||||
LIVE_HOST="${KRA_LIVE_HOST:-live.yuzou99.com}"
|
||||
NETWORK="live-net"
|
||||
BACKEND_NAME="live-backend"
|
||||
FRONTEND_NAME="live-frontend"
|
||||
@@ -39,6 +39,18 @@ BACKEND_IMAGE="$REGISTRY/$PROJECT/backend:$TAG"
|
||||
FRONTEND_IMAGE="$REGISTRY/$PROJECT/frontend:$TAG"
|
||||
LIVEWEB_IMAGE="$REGISTRY/$PROJECT/live-web:$TAG"
|
||||
|
||||
# 基础环境检查(Docker / MySQL / Redis 由 server-init.sh 负责)
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "错误: 服务器未安装 Docker,请先执行基础环境初始化脚本:"
|
||||
echo " bash server-init.sh"
|
||||
exit 1
|
||||
fi
|
||||
if ! docker ps --format '{{.Names}}' | grep -qx 'live-mysql' || \
|
||||
! docker ps --format '{{.Names}}' | grep -qx 'live-redis'; then
|
||||
echo "警告: live-mysql / live-redis 容器未在运行,后端将连不上数据库。"
|
||||
echo " 请先执行基础环境初始化脚本: bash server-init.sh"
|
||||
fi
|
||||
|
||||
echo "==> 部署版本: $TAG"
|
||||
|
||||
# 1. 准备挂载目录
|
||||
@@ -54,8 +66,9 @@ fi
|
||||
|
||||
if [ -z "$LIVE_PUBLIC_IP" ]; then
|
||||
# 1) 域名解析,过滤内网/回环地址(服务器 /etc/hosts 可能指向内网)
|
||||
LIVE_PUBLIC_IP="$(getent ahostsv4 "$LIVE_HOST" | awk '{print $1}' | grep -E '^[0-9]+(\.[0-9]+){3}$' \
|
||||
| grep -vE '^(10\.|127\.|169\.254\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)' | head -n1)"
|
||||
# getent 域名不存在时返回非零且无输出,须吞掉退出码,否则 pipefail+set -e 会静默退出
|
||||
LIVE_PUBLIC_IP="$( { timeout 10 getent ahostsv4 "$LIVE_HOST" 2>/dev/null || true; } | awk '{print $1}' | grep -E '^[0-9]+(\.[0-9]+){3}$' \
|
||||
| grep -vE '^(10\.|127\.|169\.254\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.)' | head -n1 || true)"
|
||||
fi
|
||||
if [ -z "$LIVE_PUBLIC_IP" ]; then
|
||||
# 2) 域名取不到公网 IP 时,回退查询公网出口 IP(云主机 EIP 1:1 NAT 场景一致)
|
||||
|
||||
Reference in New Issue
Block a user