尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

FastBee 2.0 开源版部署实战:Docker Compose 一键部署,10分钟完成物联网平台搭建

FastBee 2.0 开源版部署实战:Docker Compose 一键部署,10分钟完成物联网平台搭建
📅 发布时间:2026/7/11 7:34:22

FastBee 2.0 开源版极速部署指南:Docker Compose 全流程解析

物联网技术正在重塑各行各业的运营模式,而一个稳定可靠的物联网平台是连接物理世界与数字世界的桥梁。FastBee 作为一款轻量级开源物联网平台,凭借其简洁的架构设计和丰富的功能集,成为中小企业快速搭建物联网系统的优选方案。本文将带您从零开始,通过 Docker Compose 完成 FastBee 2.0 开源版的完整部署,并深入解析平台的核心组件与使用技巧。

1. 环境准备与前置条件

在开始部署之前,我们需要确保基础环境满足运行要求。以下是经过验证的推荐配置:

  • 操作系统:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8(其他 Linux 发行版也可运行,但可能需要额外配置)
  • 硬件资源:
    • 最低配置:2核CPU / 4GB内存 / 50GB磁盘空间
    • 推荐配置:4核CPU / 8GB内存 / 100GB SSD(适用于设备量较大的场景)
  • 软件依赖:
    • Docker 20.10.0+
    • Docker Compose 1.29.0+
    • Git(用于获取部署脚本)

对于 Docker 和 Docker Compose 的安装,可以使用以下快速安装命令:

# Docker 安装(适用于Ubuntu) sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io # Docker Compose 安装 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

提示:生产环境建议使用固定版本的 Docker 和 Docker Compose,避免因版本更新导致兼容性问题。

2. 一键部署 FastBee 2.0

FastBee 提供了自动化部署脚本,极大简化了安装流程。以下是详细步骤:

  1. 获取部署脚本:

    wget -c https://hub.fastbee.cn/resource/install.sh -O fastbee-install.sh chmod +x fastbee-install.sh
  2. 执行部署:

    sudo ./fastbee-install.sh

    脚本运行后会出现版本选择界面:

    ======================================== 请选择要安装的版本: 1. 开源版 2. 商业版 3. 集群版 ========================================

    输入1选择开源版,脚本将自动完成以下操作:

    • 下载必要的 Docker 镜像
    • 创建持久化数据卷
    • 配置网络连接
    • 启动所有服务容器
  3. 验证服务状态:

    docker-compose ps

    正常运行的输出应类似:

    Name Command State Ports ---------------------------------------------------------------------------- fastbee-mysql docker-entrypoint.sh mysqld Up 3306/tcp fastbee-redis docker-entrypoint.sh redis Up 6379/tcp fastbee-emqx /bin/sh -c /usr/bin/start.sh Up 4369/tcp, 8083/tcp, 8084/tcp, 8883/tcp, 18083/tcp fastbee-backend java -jar fastbee.jar Up 8080/tcp fastbee-frontend nginx -g daemon off; Up 80/tcp

部署完成后,可以通过浏览器访问http://<服务器IP>(默认端口80)进入平台。首次登录使用默认账号:

  • 用户名:admin
  • 密码:admin123

注意:出于安全考虑,首次登录后请立即修改默认密码,并在"系统管理"中配置适当的权限策略。

3. 平台核心组件解析

FastBee 2.0 采用模块化设计,各组件协同工作形成完整的物联网解决方案。以下是主要服务的功能说明:

组件名称技术栈默认端口功能描述
MySQLMySQL 5.73306存储平台配置信息、产品定义、设备元数据等结构化数据
RedisRedis 76379缓存设备状态、会话信息,提供高速数据访问
EMQXEMQX 5.01883/8083MQTT 消息代理,处理设备连接与消息路由(TCP 1883,WebSocket 8083)
后端服务Spring Boot8080提供 REST API,处理业务逻辑,包括设备管理、规则引擎、权限控制等
前端界面Vue.js + Element80管理控制台,提供可视化操作界面

网络通信架构:

设备端 → (MQTT/TCP/HTTP) → EMQX → 后端服务 → 数据库 ↑ └── 规则引擎 → 第三方系统

4. 设备接入实战

FastBee 支持多种协议接入,下面以最常见的 MQTT 协议为例,演示设备接入流程:

  1. 创建产品:

    • 登录控制台,进入"产品管理" → "新增产品"
    • 填写产品名称(如"温湿度传感器"),选择接入协议为"MQTT"
    • 配置认证方式(推荐使用"设备密钥")
  2. 定义物模型:

    { "properties": [ { "name": "temperature", "identifier": "temp", "dataType": "decimal", "unit": "℃", "accessMode": "readOnly" }, { "name": "humidity", "identifier": "humi", "dataType": "decimal", "unit": "%", "accessMode": "readOnly" } ] }
  3. 创建设备:

    • 在产品详情页点击"新增设备"
    • 记录自动生成的设备密钥(用于MQTT连接认证)
  4. 设备端代码示例(Python):

    import paho.mqtt.client as mqtt import json, random, time # 配置参数 BROKER = "your_server_ip" PORT = 1883 DEVICE_KEY = "device_123456" PRODUCT_KEY = "product_abc" # MQTT连接回调 def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client = mqtt.Client(client_id=DEVICE_KEY) client.on_connect = on_connect client.username_pw_set(DEVICE_KEY, DEVICE_KEY) client.connect(BROKER, PORT, 60) # 模拟数据上报 while True: payload = { "temp": round(random.uniform(20, 30), 1), "humi": round(random.uniform(40, 80), 1) } client.publish(f"/{PRODUCT_KEY}/{DEVICE_KEY}/property/report", json.dumps(payload)) time.sleep(30)
  5. 数据验证:

    • 在控制台"设备管理"中找到对应设备
    • 查看"实时状态"页签,应能看到定期更新的温湿度数据
    • 在"数据监测"中可查看历史数据曲线

提示:生产环境中应考虑实现断线重连机制,并添加TLS加密传输以提高安全性。

5. 进阶配置与优化

5.1 性能调优建议

对于设备量较大的场景,建议调整以下参数:

  1. EMQX 配置优化:

    # 编辑 docker-compose.yml,在emqx服务下添加环境变量 environment: - EMQX_LISTENERS__TCP__DEFAULT__ACCEPTORS=64 - EMQX_LISTENERS__TCP__DEFAULT__MAX_CONNECTIONS=102400 - EMQX_LISTENERS__SSL__DEFAULT__ACCEPTORS=32 - EMQX_NODE__PROCESS_LIMIT=2097152
  2. MySQL 性能优化:

    # 在MySQL容器中创建 /etc/mysql/conf.d/custom.cnf [mysqld] innodb_buffer_pool_size = 1G innodb_log_file_size = 256M max_connections = 500

5.2 安全加固措施

  1. 启用TLS加密:

    # 生成自签名证书(生产环境建议使用CA签发证书) openssl req -x509 -newkey rsa:4096 -nodes -keyout emqx.key -out emqx.pem -days 365 # 修改EMQX配置 volumes: - ./emqx.pem:/etc/emqx/certs/cert.pem - ./emqx.key:/etc/emqx/certs/key.pem environment: - EMQX_LISTENERS__SSL__DEFAULT__ENABLED=true - EMQX_LISTENERS__SSL__DEFAULT__CERTFILE=/etc/emqx/certs/cert.pem - EMQX_LISTENERS__SSL__DEFAULT__KEYFILE=/etc/emqx/certs/key.pem
  2. 防火墙规则配置:

    # 仅开放必要端口 sudo ufw allow 80/tcp # 前端 sudo ufw allow 443/tcp # HTTPS(如需) sudo ufw allow 8883/tcp # MQTT over SSL sudo ufw enable

5.3 数据持久化配置

为防止容器重启导致数据丢失,应配置持久化存储:

# 在docker-compose.yml中添加以下卷配置 volumes: mysql_data: driver: local redis_data: driver: local emqx_data: driver: local services: mysql: volumes: - mysql_data:/var/lib/mysql redis: volumes: - redis_data:/data emqx: volumes: - emqx_data:/opt/emqx/data

6. 常见问题排查

部署和使用过程中可能会遇到以下典型问题:

问题1:前端访问显示502错误

  • 检查Nginx容器是否正常运行:docker logs fastbee-frontend
  • 验证后端API是否可用:curl http://localhost:8080/api/v1/system/health

问题2:设备无法连接MQTT

  • 检查EMQX服务状态:docker exec -it fastbee-emqx emqx_ctl status
  • 查看连接日志:docker logs fastbee-emqx | grep "connection"
  • 验证网络连通性:telnet your_server_ip 1883

问题3:数据上报但平台不显示

  • 检查物模型定义是否匹配设备上报的JSON字段
  • 查看后端日志:docker logs fastbee-backend | grep "device message"
  • 验证Redis是否正常工作:docker exec -it fastbee-redis redis-cli ping

问题4:系统运行缓慢

  • 检查资源使用情况:docker stats
  • 分析MySQL慢查询:docker exec -it fastbee-mysql mysql -uroot -p -e "SHOW FULL PROCESSLIST"
  • 调整JVM参数(后端服务):
    environment: - JAVA_OPTS=-Xms2g -Xmx2g -XX:+UseG1GC

7. 平台功能扩展与实践

FastBee 开源版虽然功能完备,但实际项目中往往需要根据业务需求进行扩展。以下是几个典型场景的实现思路:

场景1:自定义告警规则

  1. 通过"规则引擎"创建新规则
  2. 设置触发条件(如温度>30℃持续5分钟)
  3. 配置动作(发送邮件/短信通知)

场景2:第三方系统集成

# 示例:通过FastBee API获取设备数据 import requests api_url = "http://your_server_ip/api/v1/device/data" headers = {"Authorization": "Bearer your_access_token"} params = { "productKey": "product_abc", "deviceKey": "device_123456", "limit": 100 } response = requests.get(api_url, headers=headers, params=params) data = response.json() print(data)

场景3:数据可视化大屏

  1. 使用内置的ECharts组件创建仪表盘
  2. 配置数据源为设备物模型属性
  3. 设置自动刷新间隔(如30秒)
  4. 通过iframe嵌入到第三方系统

对于需要更高性能或更复杂功能的场景,可以考虑升级到商业版,获得以下增强能力:

  • 可视化规则引擎
  • 多租户支持
  • 集群部署
  • 工业协议(Modbus/JT808)支持

相关新闻

  • 企业动态首页插件技术解析:基于JVS低代码的多角色个性化工作台实现
  • 腾讯混元Hy3 MoE模型实战:从部署到代码生成与Agent应用
  • Android端侧AI落地:llama.cpp移植实战与运行时优化

最新新闻

  • UE4逆向实战:UFT工具自动化定位GNames与GObjects地址全攻略
  • AI工具效率提升与工作流重构:避免任务膨胀的实战指南
  • RAG 超级教程:从原理到实战,用向量+重排模型搭出又准又省钱的 AI 问答
  • 2026年半封闭丝杆模组选这3家,实用不踩坑!
  • 告别Excel手工导入:基于Luban与Jenkins的Unity配置表自动化管线实践
  • ArcGIS Pro 3.1 符号化实战:从单一符号到热点图的5种方法对比

日新闻

  • OpenClaw本地部署:一键直连微信的私有化AI Agent实战指南
  • Kubernetes 系列【10】控制器:ReplicaSet(副本集)
  • 怎么寄快递才能便宜呢?2026年7月寄快递省钱攻略 - 生活情报姬

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号