Files
panel-delivery-tree/交付包/smart-parking-delivery-20261010/文档/部署注意事项.md
T

66 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 部署注意事项
项目:智慧停车综合管理平台
更新日期:2026-10-10
## 一、部署前检查
1. **Docker 可用性**:执行 `docker --version` 与 `docker compose version` 确认版本满足 20.10+ / Compose v2+;Linux 确保服务已启动(`systemctl status docker`)。
2. **端口占用**:启动前确认 `4010 / 4012 / 4015`(或自定义端口)未被占用:
- Windows:`netstat -ano | findstr :4010`
- Linux:`ss -lntp | grep -E '4010|4012|4015'`
3. **磁盘空间**:预留至少 10 GB 可用空间(镜像 + 数据卷 + 录屏/地图素材)。
4. **防火墙/安全组**:放通应用端口(4010)与 RTMP(4015);**数据库端口 4012 不要对公网开放**。
5. **时间同步**:生产服务器开启 NTP 时间同步,避免 JWT 与报警时间异常。
## 二、部署中注意事项
1. **环境变量**:复制 `.env.example` 为 `.env`,至少修改 MySQL root 口令;不要把含真实口令的 `.env` 提交到公共仓库(`.env` 已加入 `.gitignore`)。
2. **首次启动**:`docker compose up -d` 会构建镜像、初始化数据库并导入示例数据,耗时取决于网络与机器性能,请勿中断。
3. **健康判断**:使用 `docker compose ps`,应用容器状态为 `healthy` 后再访问;如长时间 `unhealthy`,用 `docker compose logs --tail=200 app` 排查。
4. **数据卷**:数据库数据保存在持久化数据卷中;执行 `docker compose down` 不删数据,**加 `-v` 参数会删除数据卷导致数据丢失,务必谨慎**。
## 三、混合内容 / HTTPS
1. 若前端通过 HTTPS 访问,页面内的 HLS 视频与 AI 接口也需为 HTTPS,否则浏览器会拦截混合内容。
2. TokenFree 接口本身为 HTTPS;自建/第三方媒体地址需保证与页面协议一致,或在反向代理统一 TLS 卸载。
3. 建议在 Nginx/网关层统一配置证书(如 Let's Encrypt)并反代应用与媒体服务。
## 四、直播与算法端
1. 摄像头 RTSP/RTMP 源必须从部署主机可达;建议先用 `ffmpeg -i <源地址>` 验证源流正常。
2. 算法端与后端通过 WebSocket 通信,需保证二者网络互通、管理员账号配置正确。
3. 多路视频或高分辨率场景建议算法端独立部署并使用 GPU;CPU 推理路数过多会导致卡顿与漏报。
4. RTMP/HLS 直播存在数秒延迟属正常(HLS 分片机制);如需更低延迟可调整分片时长或改用 WebRTC 方案(另行定制)。
## 五、浏览器兼容性
1. 推荐使用最新版 Chrome / Edge;平台依赖 ES2020、HLS、CSS backdrop-filter。
2. 部分老旧浏览器不支持玻璃模糊效果,会降级为半透明背景,不影响功能。
3. AI Key 等配置存于浏览器 localStorage,更换浏览器/清理缓存后需要重新配置。
## 六、升级与回滚
1. **升级**:备份数据卷 → 拉取/构建新镜像 → `docker compose up -d`;数据库结构如有变更需按迁移说明执行。
2. **回滚**:保留上一版本镜像 tag,异常时通过指定旧镜像 tag 重新启动;恢复升级前的数据卷备份。
3. 建议交付/升级前导出数据库备份:
`docker compose exec mysql mysqldump -uroot -p<口令> <数据库名> > backup.sql`
## 七、安全加固建议
1. 首次登录立即修改 admin/operator 默认密码。
2. 为数据库设置强口令并仅监听内网;生产环境关闭不必要的端口暴露。
3. 反向代理层开启访问日志、限流与超时配置;对外服务启用 HTTPS。
4. 定期更新 Docker、基础镜像与操作系统补丁。
## 八、常见问题速查
| 现象 | 排查方向 |
| --- | --- |
| 页面打不开 | 应用容器是否 healthy、端口/防火墙是否放通 |
| 登录失败 | 数据库是否初始化完成、账号是否被修改、时间是否同步 |
| 视频黑屏 | 摄像头源是否可达、RTMP 端口、混合内容策略、HLS 分片是否生成 |
| AI 无响应 | API Key 是否正确、接口地址是否可达、模型名是否被服务商支持 |
| 报警不触发 | 算法端是否在线、规则是否启用、检测目标/阈值是否合理 |
| 容器反复重启 | `docker compose logs app` 查看依赖(DB 未就绪/口令错误/端口冲突) |