官方文档
https://www.emqx.io/docs/en/v5.0/
github地址
https://github.com/emqx/emqx
官方描述
适用于 IoT、IIoT 和联网车辆的最具扩展性的开源 MQTT 代理
官方文档
https://www.emqx.io/docs/en/v5.0/deploy/install-docker.html
dockerHub
https://hub.docker.com/_/emqx
官方的文档有关于Docker Compose的部署和参数的说明
创建docker-compose.yml文件
version: '3.5'
services:
emqx:
image: emqx/emqx:5.0.21
container_name: emqx
ports:
- 18083:18083
- 1883:1883
- 8083:8083
- 8081:8081
volumes:
- ./data:/opt/emqx/data
- ./log:/opt/emqx/log
restart: always
启动服务
docker-compose up
可能遇到的问题
本文遇到docker network超出限制问题,已解决
《解决docker network超出数量限制导致docker无法启动问题》
自动拉取镜像
文件或者文件夹权限问题,导致程序退出
给整个目录以及递归给予子目录所有权限
chmod 777 -R emqx/
再次启动docker,运行成功
先暂停服务,然后使用命令是服务常驻后台
dockerc-compose up -d
开放端口
udo ufw allow 18083
18083是emqx的webui界面
使用ip:端口 访问
官方文档
https://www.emqx.io/docs/en/v5.0/getting-started/getting-started.html#install-emqx-with-docker-installation-package
默认账户:admin
默认密码:public
第一次登录后会提示修改密码
修改密码后进去主页面
按照图示,可以修改界面语言为中文
点击Apply(应用)
点击左下角底部图标,可展开或者收缩菜单栏
本文使用MQTTX
官网地址
https://mqttx.app/
下载win文件安装即可
在功能配置-监听器中有默认设置
1883为无需证书的MQTT端口
要测试MQTT先要开放端口1883
打开MQTTX客户端
创建连接
填写name
ip改为部署emqx的ip地址,如本文的192.168.1.33
点击右上角connect
提示连接成功
同时在管理后台-连接管理
可以看到连接内容
在MQTTX客户端添加当前连接的订阅主题
点击添加订阅,填写名称,点击确认
可以看到创建了一个订阅
回到管理后台-订阅管理
可以看到多了一个test的订阅主题
使用mqtt.js来测试EMQX
官方参考文档
https://www.emqx.com/zh/blog/mqtt-js-tutorial
客户端sdk
官方文档
https://www.emqx.io/docs/en/v5.0/connect-emqx/python.html
至此,EMQX的MQTT部署和测试,基本完成
如果要尝试物联网,MQTT,蓝牙都建议去尝试,不仅仅是尝试http
END