生产部署
构建
cd backend && npm ci && npm run build
cd ../frontend && npm ci && npm run build
环境变量(生产)
Backend
PORT=4000
FRONTEND_URL=https://your-frontend.com
REDIS_URL=rediss://...
JWT_SECRET=...
DATABASE_URL=postgresql://...
Frontend
NEXT_PUBLIC_API_BASE=https://your-api.com
NEXTAUTH_URL=https://your-frontend.com
NEXTAUTH_SECRET=...
JWT_SECRET=<same>
STAFF_ADMIN_PASSWORD=...
STAFF_DISPLAY_PASSWORD=...
NEXT_PUBLIC_THEME=spring
启动
cd backend && npm start
cd frontend && npm start
部署后验证
-
/healthOK - Staff 可登录 admin / show
- 发布登录码 → Show 同步
- 玩家 login → play → 发题 → 答题
- winner 显示
玩家 #NNN - reset 后登录码清除
平台参考
- Frontend: Vercel / Railway
- Backend + Redis + PG: Railway
- 确保 Server-side fetch(verify-code)可从 Frontend 主机访问 Backend
活动日运维
- 活动前:Staff 登录测试 + 登录码 E2E
- 活动中:监控
/health、Redis 内存 - 活动后:查
GameResult表归档
回滚
Frontend Vercel 一键回滚;Backend 保留上一镜像。Redis 中进行中状态回滚不自动清理,慎用。