3.2 KiB
3.2 KiB
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)