FastBee 2.0 开源版部署实战Docker Compose 一键搭建物联网平台物联网技术正在重塑各行各业的运营模式而一个高效、易用的物联网平台是连接物理世界与数字世界的桥梁。FastBee 2.0 作为一款轻量级开源物联网平台凭借其全栈式解决方案和友好的开发者体验成为中小企业及个人开发者快速构建物联网应用的优选方案。1. 环境准备与前置条件在开始部署之前我们需要确保基础环境满足要求。以下是推荐的服务器配置最低硬件要求CPU2核x86_64架构内存4GB存储50GB SSD操作系统Ubuntu 20.04/CentOS 7提示生产环境建议使用8GB以上内存并配置监控告警机制软件依赖安装# Ubuntu/Debian系统 sudo apt update sudo apt install -y curl git docker.io docker-compose # CentOS/RHEL系统 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl enable --now docker验证Docker安装docker --version docker-compose --version # 预期输出示例 # Docker version 24.0.5, build 24.0.5-0ubuntu1~20.04.1 # docker-compose version 1.29.2, build unknown2. 一键部署FastBee 2.0FastBee提供自动化部署脚本大幅简化安装流程。执行以下命令获取部署脚本wget -O fastbee-install.sh https://hub.fastbee.cn/resource/install.sh chmod x fastbee-install.sh部署参数说明参数选项作用描述默认值-p指定Web访问端口8080-d数据存储目录/data/fastbee-mMQTT服务端口1883-v视频服务端口1935启动部署使用默认参数sudo ./fastbee-install.sh部署过程主要完成以下操作创建必要的Docker网络和卷拉取各组件镜像Spring Boot后端、Vue前端、MySQL等初始化数据库结构和默认账号启动所有服务容器关键容器服务fastbee-mysql: MySQL 5.7数据库fastbee-redis: Redis缓存服务fastbee-backend: Spring Boot应用fastbee-frontend: Vue管理界面fastbee-emqx: MQTT消息代理3. 平台初始化配置部署完成后通过浏览器访问http://服务器IP:8080进入登录页面。使用默认凭证用户名admin密码admin123首次登录后建议立即修改密码并完成以下基础配置系统参数配置路径系统管理 参数设置 系统配置关键配置项说明MQTT连接参数Broker地址内置EMQX服务默认localhost端口1883明文/8883SSL认证方式支持匿名访问/账号密码邮件服务器设置mail.hostsmtp.example.com mail.port465 mail.usernameyour_emailexample.com mail.passwordyour_password mail.protocolsmtps设备协议支持MQTT 3.1.1/5.0Modbus RTU/TCPHTTP RESTful API自定义TCP/UDP协议4. 核心功能验证部署完成后需要验证各核心模块是否正常运行4.1 MQTT服务测试使用MQTTX工具测试消息收发# 订阅测试主题 mosquitto_sub -h localhost -t test/topic -u admin -P admin123 # 另开终端发布消息 mosquitto_pub -h localhost -t test/topic -m Hello FastBee -u admin -P admin1234.2 设备模拟接入通过平台界面创建设备进入设备管理 产品管理点击新增填写产品基本信息选择接入协议如MQTT定义物模型属性、功能、事件在设备管理中添加具体设备获取设备凭证物模型定义示例JSON{ properties: [ { name: temperature, identifier: temp, dataType: decimal, unit: ℃, accessMode: readOnly } ], functions: [ { name: reboot, identifier: reboot, inputParams: [], outputParams: [] } ] }4.3 数据可视化验证进入数据可视化 大屏设计拖拽组件图表、仪表盘等到画布绑定设备数据源保存并预览实时数据展示5. 运维管理与故障排查5.1 服务监控命令查看容器运行状态docker ps --format table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}查看特定容器日志docker logs -f fastbee-backend5.2 常见问题解决方案问题1MySQL连接失败检查fastbee-mysql容器是否运行验证数据库连接参数docker exec -it fastbee-mysql mysql -u root -p问题2前端访问空白页检查Nginx容器是否正常curl -I http://localhost:8080查看前端静态资源docker exec -it fastbee-frontend ls /usr/share/nginx/html问题3设备无法连接MQTT检查端口开放情况netstat -tulnp | grep 1883测试MQTT服务连通性telnet your_server_ip 18836. 性能优化建议对于生产环境部署建议进行以下优化数据库调优# my.cnf 优化项 innodb_buffer_pool_size 2G innodb_log_file_size 256M max_connections 500JVM参数调整# 在docker-compose.yml中配置 environment: JAVA_OPTS: -Xms2g -Xmx4g -XX:UseG1GCRedis持久化配置docker exec -it fastbee-redis redis-cli config set save 900 1 300 10 60 10000负载均衡方案upstream fastbee { server backend1:8080; server backend2:8080; keepalive 32; }7. 安全加固措施修改默认凭证MySQL root密码Redis访问密码平台管理员账号网络隔离docker network create --driver bridge fastbee_net docker network connect fastbee_net fastbee-mysql定期备份策略# MySQL备份 docker exec fastbee-mysql mysqldump -u root -p fastbee backup_$(date %F).sql # 配置文件备份 tar czvf fastbee_conf_$(date %F).tar.gz /data/fastbee在实际项目中使用FastBee时建议结合CI/CD流程实现自动化部署和监控。平台提供的RESTful API也便于与企业现有系统集成import requests api_url http://your-server:8080/api/v1/devices headers {Authorization: Bearer your_token} response requests.get(api_url, headersheaders) print(response.json())