Files
Scoreboard/devdocs/10-部署与现场方案.md
T

3.2 KiB
Raw Blame History

10 · 部署与现场方案

所属:运动会积分榜系统 · 开发文档集 版本:v0.1(讨论稿) · 2026-09-09 上游:README · 相关:03-技术选型与架构、08-安全与可靠性 ⚠️ 本篇依赖 D8(现场环境)与 D10(技术栈)的确认结果。


1. 运行形态

  • 单进程 Node 服务,监听 0.0.0.0:8080。
  • 静态资源由服务端直接托管:
地址 用途
http://<现场IP>:8080/ 导航页(两个入口)
http://<现场IP>:8080/display 大屏
http://<现场IP>:8080/admin 管理面板
  • 数据目录 data/(数据库、备份、上传的 logo)与代码分离,升级不丢数据。

2. 配置

  • .env 或 config.json:端口、数据目录、会话密钥、赛事默认值、大屏 key。
  • 首次启动自动:建库 → 迁移 → 建默认管理员 → 打印初始密码。

3. 现场部署包(绿色包)

scoreboard-v1.0.0-win-x64.zip
├── runtime/node.exe            (Linux 下为 runtime/bin/node)
├── app/                        (服务端构建产物 + 前端 dist)
├── data/                       (空目录,首次运行自动初始化)
├── start.bat / start.sh
└── 使用说明.txt

现场操作:解压 → 双击 start.bat → 浏览器打开提示的地址。

不依赖现场装 Node、不依赖外网、不依赖包管理器。这是把「Node 需要运行时」这个缺点消掉的方案,也是选型 A 能站住的关键。

4. 大屏机配置(kiosk 模式)

# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk --incognito \
  --disable-pinch --noerrdialogs --disable-session-crashed-bubble \
  --autoplay-policy=no-user-gesture-required \
  http://192.168.x.x:8080/display

# Linux
chromium --kiosk --incognito --disable-pinch --noerrdialogs http://192.168.x.x:8080/display

现场额外设置:

  • 关闭屏保 / 休眠 / 自动更新。
  • 设置开机自启。
  • 关闭系统通知弹窗(否则会盖在大屏上)。

5. 网络

  • 建议独立路由器 / 交换机,不与办公网混用。
  • 服务端主机设固定 IP(或 DHCP 保留)。
  • 有线优先;无线投屏只作为备份手段。
  • 若 D9 选公网访问:加反向代理 + HTTPS + 访问口令,并做安全评审(见 08-安全与可靠性)。

6. 备用与切换

项 方案
备机 同架构备用机 + 同一份部署包 + 最新备份,10 分钟内可接管
备用大屏 一台预装浏览器的笔记本,打开同一 URL 即顶替
备用网络 一个备用路由器 / 热点,SSID 与 IP 段预先规划
备用电源 主机接 UPS

7. 上线检查清单

  • 服务端开机自启 + 崩溃自拉起已验证
  • 数据库自动备份目录可写、有历史文件
  • 大屏机 kiosk 自启、分辨率正确、字体已本地化
  • 管理端各角色账号可登录、权限正确
  • 现场 IP 固定,二维码 / 地址已打印贴在操作台
  • 断网 / 断电演练通过
  • 磁盘剩余空间充足(建议 ≥10GB)