2026-01-06 19:36:42 +08:00
|
|
|
|
#!/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 ""
|
|
|
|
|
|
|
2026-01-07 10:42:04 +08:00
|
|
|
|
# 检查是否安装了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 ""
|
|
|
|
|
|
|
2026-01-06 19:36:42 +08:00
|
|
|
|
echo "[启动] 正在启动Python服务(生产环境,端口8000)..."
|
|
|
|
|
|
echo "[说明] 按Ctrl+C停止服务"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# 设置环境为生产环境
|
|
|
|
|
|
export ENV=prod
|
|
|
|
|
|
|
2026-01-07 10:42:04 +08:00
|
|
|
|
# 启动服务(根据是否有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
|