50 lines
1.8 KiB
Bash
50 lines
1.8 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# =============================================================================
|
||
|
|
# NAS 部署诊断脚本 — 快速排查后端 502 问题
|
||
|
|
# =============================================================================
|
||
|
|
# 用法:SSH 登录 NAS 后执行
|
||
|
|
# cd /volume1/docker/wecom-it-desk
|
||
|
|
# bash diagnose.sh
|
||
|
|
# =============================================================================
|
||
|
|
|
||
|
|
echo "============================================"
|
||
|
|
echo " 智能IT支持服务台 — NAS 部署诊断"
|
||
|
|
echo "============================================"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 1. 容器状态
|
||
|
|
echo "--- [1/5] 容器状态 ---"
|
||
|
|
docker compose -f docker-compose.nas.yml ps
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 2. 后端日志(最近 50 行)
|
||
|
|
echo "--- [2/5] 后端日志(最近 50 行)---"
|
||
|
|
docker compose -f docker-compose.nas.yml logs --tail 50 backend
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 3. Nginx 日志(最近 20 行)
|
||
|
|
echo "--- [3/5] Nginx 错误日志(最近 20 行)---"
|
||
|
|
docker compose -f docker-compose.nas.yml logs --tail 20 nginx
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 4. Cloudflared 日志(最近 20 行)
|
||
|
|
echo "--- [4/5] Cloudflared 日志(最近 20 行)---"
|
||
|
|
docker compose -f docker-compose.nas.yml logs --tail 20 cloudflared
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 5. 内网直连测试
|
||
|
|
echo "--- [5/5] 内网直连测试 ---"
|
||
|
|
echo "测试 nginx (localhost:18080)..."
|
||
|
|
curl -s -o /dev/null -w " HTTP %{http_code}" http://localhost:18080/itdesk/ 2>/dev/null || echo " 失败"
|
||
|
|
echo ""
|
||
|
|
echo "测试后端 API (localhost:18080/api/health)..."
|
||
|
|
curl -s -w " HTTP %{http_code}" http://localhost:18080/api/health 2>/dev/null || echo " 失败"
|
||
|
|
echo ""
|
||
|
|
echo "测试后端容器内部..."
|
||
|
|
docker exec wecom_it_backend curl -s http://localhost:8000/health 2>/dev/null || echo " 后端容器内 health 检查失败"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "============================================"
|
||
|
|
echo " 诊断完成,请将以上输出发给我"
|
||
|
|
echo "============================================"
|