diff --git a/scripts/lib-yh-compose-deploy.sh b/scripts/lib-yh-compose-deploy.sh index aa38303..831ce89 100644 --- a/scripts/lib-yh-compose-deploy.sh +++ b/scripts/lib-yh-compose-deploy.sh @@ -140,17 +140,32 @@ yh_install_host_nginx_site_conf() { yh_post_deploy_healthcheck() { local domain="${NGINX_DOMAIN:-yuheng.yuxindazhineng.com}" local code="" + local ok_web=0 + local ok_admin=0 + local ok_api=0 - # 先验证上游容器端口(避免把 upstream 问题误判成 nginx 问题) - curl -fsS --max-time 6 http://127.0.0.1:9080/ >/dev/null || { + # 先验证上游容器端口(带重试,避免容器刚起时瞬时连接拒绝) + for _ in $(seq 1 20); do + curl -fsS --max-time 3 http://127.0.0.1:9080/ >/dev/null && ok_web=1 && break + sleep 1 + done + [ "$ok_web" -eq 1 ] || { echo "错误: 前台上游 127.0.0.1:9080 不可用" >&2 return 1 } - curl -fsS --max-time 6 http://127.0.0.1:9081/ >/dev/null || { + for _ in $(seq 1 20); do + curl -fsS --max-time 3 http://127.0.0.1:9081/ >/dev/null && ok_admin=1 && break + sleep 1 + done + [ "$ok_admin" -eq 1 ] || { echo "错误: 后台上游 127.0.0.1:9081 不可用" >&2 return 1 } - curl -fsS --max-time 6 http://127.0.0.1:8088/api/health | grep -q '"status":"ok"' || { + for _ in $(seq 1 30); do + curl -fsS --max-time 3 http://127.0.0.1:8088/api/health | grep -q '"status":"ok"' && ok_api=1 && break + sleep 2 + done + [ "$ok_api" -eq 1 ] || { echo "错误: API 上游 127.0.0.1:8088/api/health 不可用" >&2 return 1 }