- server: FastAPI 后端(多屏管理、素材上传、节目编排、客户端注册/配置/心跳/崩溃上报、管理台托管) - android: Java 客户端(minSdk 23,全屏图片/视频轮播、远程配置、开机自启、崩溃上报) - web: React + Vite + antd 管理台(屏幕/素材/节目管理) - 屏幕设备 ID 关联机制、gunicorn 生产部署脚本
30 lines
735 B
Bash
30 lines
735 B
Bash
#!/usr/bin/env bash
|
|
# 生产启动(Linux / 正式环境):gunicorn + UvicornWorker + 日志文件
|
|
set -e
|
|
cd "$(dirname "$0")/.."
|
|
|
|
if [ ! -d .venv ]; then
|
|
echo "未找到 .venv,请先创建虚拟环境并安装依赖"
|
|
exit 1
|
|
fi
|
|
mkdir -p logs
|
|
source .venv/bin/activate
|
|
|
|
PORT="${PORT:-5889}"
|
|
echo "启动 EasyScreen 生产服务,端口 $PORT ..."
|
|
gunicorn app.main:app \
|
|
-k uvicorn.workers.UvicornWorker \
|
|
-b 0.0.0.0:$PORT \
|
|
-w 2 \
|
|
--daemon \
|
|
--pid logs/gunicorn.pid \
|
|
--access-logfile logs/access.log \
|
|
--error-logfile logs/error.log
|
|
|
|
sleep 2
|
|
if [ -f logs/gunicorn.pid ]; then
|
|
echo "已启动 (pid $(cat logs/gunicorn.pid)),日志: logs/access.log"
|
|
else
|
|
echo "启动失败,请查看 logs/error.log"
|
|
fi
|