#!/bin/bash # 小红书Python服务启动脚本(生产环境) cd "$(dirname "$0")" echo "========================================" echo " 小红书登录服务(生产模式)" echo "========================================" echo "" # 激活虚拟环境 echo "[环境] 激活虚拟环境: $(pwd)/venv" source venv/bin/activate if [ $? -ne 0 ]; then echo "[错误] 虚拟环境激活失败" exit 1 fi # 显示Python版本和路径 echo "[Python] $(python --version)" echo "[路径] $(which python)" echo "" # 检查是否安装了Xvfb if command -v xvfb-run &> /dev/null; then echo "[Xvfb] 检测到Xvfb,将使用虚拟显示运行(避免无头模式被检测)" USE_XVFB=true else echo "[警告] 未检测到Xvfb,将使用无头模式(可能触发验证)" echo "[提示] 安装Xvfb: sudo apt-get install -y xvfb" USE_XVFB=false fi echo "" echo "[启动] 正在启动Python服务(生产环境,端口8000)..." echo "[说明] 按Ctrl+C停止服务" echo "" # 设置环境为生产环境 export ENV=prod # 启动服务(根据是否有Xvfb选择启动方式) if [ "$USE_XVFB" = true ]; then echo "[模式] 使用Xvfb虚拟显示 + 有头模式" xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24" python -m uvicorn main:app --host 0.0.0.0 --port 8000 else echo "[模式] 无头模式(可能被检测)" python -m uvicorn main:app --host 0.0.0.0 --port 8000 fi