e43640d0fe
原 /deploy/ 内容是文档站自身(VitePress/Node/nginx)的部署说明, 与用户所需的「IotLCM 平台部署手册」不符。 改为基于 iotlcm-public/iotlcm-deploy 部署仓的平台部署手册: - 部署概览:部署构成、三步流程、端口规划、关键约束 - 环境准备:硬件分档、系统与 Docker 版本、镜像仓库、防火墙、可选外部依赖 - 配置说明:.env 必填 8 项与可选 4 项、10 份应用配置逐项说明 - 启动与验证:首次初始化流程、7 步验证清单、首次登录必做项 - 可选服务:运营商挡板 onelink-mock、飞书 bot、反向代理(含 HTTPS) - 升级与备份:版本固定、升级回滚、备份与恢复、日志清理、监控指标 - 故障排查:启动/功能/性能/网络四类共 20 个问题 删除原 6 页(docker-nginx / path-prefix / static-hosting / local-dev / offline / faq),侧边栏同步改为「部署手册 + 运维」两组。
3.1 KiB
3.1 KiB
title, description, outline
| title | description | outline |
|---|---|---|
| 环境准备 | 部署 IotLCM 所需的硬件、系统、Docker 与网络条件 | deep |
环境准备
硬件要求
按数据规模选择:
| 场景 | CPU | 内存 | 磁盘 | 说明 |
|---|---|---|---|---|
| 试用 / 演示 | 2 核 | 4 GB | 40 GB | 少量卡片,建议停用定时同步任务 |
| 生产(中小规模) | 4 核 | 8 GB | 200 GB | 万级卡片,开启全量同步 |
| 生产(大规模) | 8 核+ | 16 GB+ | 500 GB+ | 十万级卡片,建议数据库独立部署 |
磁盘估算:MySQL 数据约 1~2 KB/张卡;日志随同步任务量增长,建议单独挂载并配置轮转。
生产 8 GB 场景的内存分配参考:
| 服务 | 占用 |
|---|---|
| MySQL | 1~2 GB |
| Redis | 200~500 MB |
| RabbitMQ | 300~500 MB |
| worker-svr | 500 MB~1 GB(与并发同步卡片数相关) |
| 其余业务服务 | 各 100~200 MB |
系统要求
| 项 | 要求 |
|---|---|
| 操作系统 | Linux x86_64(CentOS 7+ / Ubuntu 20.04+ / Debian 11+) |
| 内核 | 3.10 以上 |
| 文件系统 | ext4 / xfs |
| 时区 | 建议 Asia/Shanghai,与 .env 的 TZ 保持一致 |
Docker 要求
| 组件 | 最低版本 | 说明 |
|---|---|---|
| Docker Engine | 20.10 | 需支持 healthcheck 与 profiles |
| Docker Compose | v2.0(插件版) | 使用 docker compose 而非 docker-compose |
验证:
docker version
docker compose version
docker compose version 需 ≥ v2.0。若只有 docker-compose(v1),请升级到 Compose V2 插件。
镜像仓库
平台镜像由官方镜像仓库分发,需要:
- 能访问镜像仓库地址(内网仓库需先配置网络或代理)
- 具备拉取权限
docker login <镜像仓库地址>
.env 的 REGISTRY 填写仓库地址,不含 https:// 与末尾斜杠:
REGISTRY=registry.example.com
基础组件从 <REGISTRY>/library/ 拉取(mysql、redis、rabbitmq、consul、nginx),业务镜像从 <REGISTRY>/iotlcm/ 拉取。
网络与防火墙
仅需对外开放反向代理端口(默认 80 / 443),其余服务端口应限制为内网访问。
# 示例:firewalld 仅放行 80/443
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
::: tip 默认只监听本机
admin-svr、admin-ui、openapi、app-server、app-web、docs 默认绑定 127.0.0.1,只能本机访问。对外需通过反向代理,见可选服务。
:::
外部依赖(可选)
| 服务 | 用途 | 不配置的影响 |
|---|---|---|
| TDengine 3.x | 存流量历史数据 | 历史流量查询不可用,主流程正常 |
| 短信服务商 | 发送验证码 | 无法发送短信 |
| 微信支付 | 在线支付 | 支付功能不可用 |
| 飞书 | 运维通知 | 不启动 bot 即可 |
TDengine 需开启 WebSocket 接口(默认 6041),在 .env 中配置:
TDENGINE_HOST=tdengine.example.com
TDENGINE_PORT=6041
TDENGINE_USER=root
TDENGINE_PASSWORD=
TDENGINE_DAILY_DB=iotlcm_daily
TDENGINE_MONTHLY_DB=iotlcm_monthly
不使用时全部留空。