尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
FastBee 2.0 开源版部署实战:Docker Compose 一键部署,10分钟完成物联网平台搭建
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.0Docker Compose 1.29.0Git用于获取部署脚本对于 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 [archamd64] 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.0FastBee 提供了自动化部署脚本极大简化了安装流程。以下是详细步骤获取部署脚本wget -c https://hub.fastbee.cn/resource/install.sh -O fastbee-install.sh chmod x fastbee-install.sh执行部署sudo ./fastbee-install.sh脚本运行后会出现版本选择界面 请选择要安装的版本: 1. 开源版 2. 商业版 3. 集群版 输入1选择开源版脚本将自动完成以下操作下载必要的 Docker 镜像创建持久化数据卷配置网络连接启动所有服务容器验证服务状态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 1883WebSocket 8083后端服务Spring Boot8080提供 REST API处理业务逻辑包括设备管理、规则引擎、权限控制等前端界面Vue.js Element80管理控制台提供可视化操作界面网络通信架构设备端 → (MQTT/TCP/HTTP) → EMQX → 后端服务 → 数据库 ↑ └── 规则引擎 → 第三方系统4. 设备接入实战FastBee 支持多种协议接入下面以最常见的 MQTT 协议为例演示设备接入流程创建产品登录控制台进入产品管理 → 新增产品填写产品名称如温湿度传感器选择接入协议为MQTT配置认证方式推荐使用设备密钥定义物模型{ properties: [ { name: temperature, identifier: temp, dataType: decimal, unit: ℃, accessMode: readOnly }, { name: humidity, identifier: humi, dataType: decimal, unit: %, accessMode: readOnly } ] }创建设备在产品详情页点击新增设备记录自动生成的设备密钥用于MQTT连接认证设备端代码示例Pythonimport 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_idDEVICE_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)数据验证在控制台设备管理中找到对应设备查看实时状态页签应能看到定期更新的温湿度数据在数据监测中可查看历史数据曲线提示生产环境中应考虑实现断线重连机制并添加TLS加密传输以提高安全性。5. 进阶配置与优化5.1 性能调优建议对于设备量较大的场景建议调整以下参数EMQX 配置优化# 编辑 docker-compose.yml在emqx服务下添加环境变量 environment: - EMQX_LISTENERS__TCP__DEFAULT__ACCEPTORS64 - EMQX_LISTENERS__TCP__DEFAULT__MAX_CONNECTIONS102400 - EMQX_LISTENERS__SSL__DEFAULT__ACCEPTORS32 - EMQX_NODE__PROCESS_LIMIT2097152MySQL 性能优化# 在MySQL容器中创建 /etc/mysql/conf.d/custom.cnf [mysqld] innodb_buffer_pool_size 1G innodb_log_file_size 256M max_connections 5005.2 安全加固措施启用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__ENABLEDtrue - EMQX_LISTENERS__SSL__DEFAULT__CERTFILE/etc/emqx/certs/cert.pem - EMQX_LISTENERS__SSL__DEFAULT__KEYFILE/etc/emqx/certs/key.pem防火墙规则配置# 仅开放必要端口 sudo ufw allow 80/tcp # 前端 sudo ufw allow 443/tcp # HTTPS如需 sudo ufw allow 8883/tcp # MQTT over SSL sudo ufw enable5.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/data6. 常见问题排查部署和使用过程中可能会遇到以下典型问题问题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:UseG1GC7. 平台功能扩展与实践FastBee 开源版虽然功能完备但实际项目中往往需要根据业务需求进行扩展。以下是几个典型场景的实现思路场景1自定义告警规则通过规则引擎创建新规则设置触发条件如温度30℃持续5分钟配置动作发送邮件/短信通知场景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, headersheaders, paramsparams) data response.json() print(data)场景3数据可视化大屏使用内置的ECharts组件创建仪表盘配置数据源为设备物模型属性设置自动刷新间隔如30秒通过iframe嵌入到第三方系统对于需要更高性能或更复杂功能的场景可以考虑升级到商业版获得以下增强能力可视化规则引擎多租户支持集群部署工业协议Modbus/JT808支持
RELATED

相关推荐

Vivado DDS IP 7.1 配置实战:3种噪声整形模式对SFDR性能影响实测

Vivado DDS IP 7.1 配置实战:3种噪声整形模式对SFDR性能影响实测

Vivado DDS IP 7.1 配置实战:3种噪声整形模式对SFDR性能影响实测在FPGA数字信号处理系统中,直接数字频率合成器(DDS)作为核心模块,其性能直接影响整个系统的信号质量。Xilinx Vivado提供的DDS IP核(7.1版本…

📅 2026/9/24 23:56:14
【Springboot毕设全套源码+文档】基于springboot的骑行交流论坛的设计与开发(丰富项目+远程调试+讲解+定制)

【Springboot毕设全套源码+文档】基于springboot的骑行交流论坛的设计与开发(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

📅 2026/9/21 0:49:09
ANSYS 2026 R1全模块部署:许可证、依赖与跨域仿真实战指南

ANSYS 2026 R1全模块部署:许可证、依赖与跨域仿真实战指南

1. 这不是普通软件安装:ANSYS 2026 R1全模块部署的本质是什么你点开这个标题,大概率正卡在三个现实困境里:要么刚拿到项目需求,被要求用最新版ANSYS做高频电磁-热-结构耦合仿真,但官网下载页密密麻麻的镜像名看得人头皮…

📅 2026/9/8 21:57:11
MORE NEWS

更多资讯

📰

企业多模型统一管理:服务目录、授权、路由与计量的六步方法

摘要:本文解释多模型统一管理的对象与边界,区分统一 API 和完整治理体系,并给出从模型盘点、服务标准到授权、路由和运营计量的六步实施方法。多模型统一管理,是把公有模型、私有模型、自建模型和本地部署模型组织为标准服务对象&…

📰

G Hub宏失效的解决方法

都是用了5年了的罗技老用户了,虽然lgHub挺好用的,但是还是偶尔会出现一些小问题。比如找不到 lg设备,设备自定义宏失效,自启动失效,lgHub卡在加载动画进不去的问题。这里只说鼠标宏无法触发,常见原因多源于…

📰

解决calibre阅读器无法正确获取锚点元素的href属性问题

在创建支持交叉链接且鼠标悬停显示注释框的HTML文件 一文中提供了一个js脚本,通过读取锚点元素的href目标的文本内容向伪元素传递注释内容,但是那个脚本如果制作成EPUB并在Calibre阅读器中打开却会失效(在Thorium阅读器中有效)&am…

📰

OrcaSlicer 切片安装配置手册

目录 耗材预设文件 bambustudio导出命令: 20个切片工具 bambustudio 切片 orca-slicer介绍: orca-slicer下载: 编译: linux安装: 缩放: 自动切片: 导出预设包,打印机预设…

📰

Codex 与 CC Switch 配置保姆教程

资源文件:通过网盘分享的文件: 链接 : https://pan.baidu.com/s/1Mp9nIswOat58X33clpjEkg 提取码: va8u 复制这段内容后打开百度网盘手机App,操作更方便哦一、Codex 安装指南方式一:官方下载(推荐)访问open…

📰

Go Workflow 引擎:从 Tempor 与 Cadence 到流程编排

Go Workflow 引擎:从 Tempor 与 Cadence 到流程编排工作流引擎是后端组件的"粘合层"。Tempor / Cadence 是 Go 编写的开源流程编排引擎。本文讲清原理与集成。一、Temporal 是什么? Temporal 微服务编排 时间调度 容错。Google Uber 支持。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬