更新
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
# 宝塔/服务器快速诊断:服务是否在跑、端口是否监听
|
||||
set -uo pipefail
|
||||
|
||||
BACKEND="$(cd "$(dirname "$0")" && pwd)"
|
||||
ROOT="$(cd "$BACKEND/.." && pwd)"
|
||||
PORT="${KEFU_PORT:-8000}"
|
||||
|
||||
echo "========================================"
|
||||
echo " 抖音客服 - 运行诊断"
|
||||
echo "========================================"
|
||||
echo
|
||||
|
||||
echo "[1] 端口 ${PORT} 监听状态:"
|
||||
if command -v ss &>/dev/null; then
|
||||
ss -tlnp | grep ":${PORT} " || echo " -> 未监听(服务未启动)"
|
||||
elif command -v netstat &>/dev/null; then
|
||||
netstat -tlnp 2>/dev/null | grep ":${PORT} " || echo " -> 未监听(服务未启动)"
|
||||
else
|
||||
echo " (无法检测,请安装 ss 或 netstat)"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "[2] Python 环境:"
|
||||
BROKEN_BT="/home/www/server/pyporject_evn/versions/3.11.15/bin/python"
|
||||
if [ -x "$BROKEN_BT" ] && ! "$BROKEN_BT" -c "import ssl" 2>/dev/null; then
|
||||
echo " [X] 宝塔 Python 无 SSL(不可用): $BROKEN_BT"
|
||||
echo " 修复: AUTO_BUILD_PYTHON=1 bash $ROOT/install.sh"
|
||||
fi
|
||||
if [ -f "$BACKEND/lib/resolve_python.sh" ]; then
|
||||
# shellcheck source=lib/resolve_python.sh
|
||||
source "$BACKEND/lib/resolve_python.sh"
|
||||
if PY="$(resolve_python "$BACKEND" "$ROOT" 2>/dev/null)"; then
|
||||
echo " Python: $PY"
|
||||
"$PY" -V 2>&1 | sed 's/^/ /'
|
||||
if "$PY" -c "import ssl" 2>/dev/null; then
|
||||
"$PY" -c "import ssl; print(' SSL:', ssl.OPENSSL_VERSION)"
|
||||
else
|
||||
echo " SSL: 无(不可用)"
|
||||
fi
|
||||
if "$PY" -c "import uvicorn" 2>/dev/null; then
|
||||
echo " uvicorn: 已安装"
|
||||
else
|
||||
echo " uvicorn: 未安装 -> 运行 bash $BACKEND/baota_fix.sh"
|
||||
fi
|
||||
else
|
||||
echo " 未找到可用 Python 3.10+"
|
||||
fi
|
||||
else
|
||||
command -v python && python -V || echo " 未找到 python"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "[3] 前端静态:"
|
||||
if [ -f "$ROOT/frontend/dist/index.html" ]; then
|
||||
echo " OK: $ROOT/frontend/dist/index.html"
|
||||
else
|
||||
echo " 缺失 -> 运行 bash $BACKEND/baota_init.sh"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "[4] 宝塔项目进程:"
|
||||
ps aux 2>/dev/null | grep -E "uvicorn|douyin" | grep -v grep || echo " 未发现 uvicorn 进程"
|
||||
echo
|
||||
|
||||
echo "[5] 防火墙(CentOS firewalld):"
|
||||
if command -v firewall-cmd &>/dev/null && systemctl is-active firewalld &>/dev/null; then
|
||||
firewall-cmd --list-ports 2>/dev/null | grep -q "${PORT}" \
|
||||
&& echo " 端口 ${PORT} 已放行" \
|
||||
|| echo " 端口 ${PORT} 未放行 -> firewall-cmd --add-port=${PORT}/tcp --permanent && firewall-cmd --reload"
|
||||
else
|
||||
echo " firewalld 未运行或未安装(可忽略,检查云服务器安全组)"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "========================================"
|
||||
echo " 若端口未监听,按顺序执行:"
|
||||
echo " 若宝塔 Python 无 SSL,必须先编译可用 Python:"
|
||||
echo " AUTO_BUILD_PYTHON=1 bash $ROOT/install.sh"
|
||||
echo " KEFU_PYTHON=/usr/local/python3.11/bin/python3.11 bash $BACKEND/baota_fix.sh"
|
||||
echo " bash $BACKEND/baota_init.sh"
|
||||
echo " 宝塔启动命令: bash $BACKEND/baota_start.sh"
|
||||
echo
|
||||
echo " 手动测试启动:"
|
||||
echo " bash $BACKEND/baota_start.sh"
|
||||
echo "========================================"
|
||||
Reference in New Issue
Block a user