EMQ X简单使用
2019-07-01 本文已影响0人
voxer
继上篇,放弃ActiveMQ之后,改用EMQ X,初步使用了一下,感觉非常好。对于MQTT borker来说,这个国产开源平台入门简单,管理界面人性,文档很全,值得推荐。据说性能也很好,集群化也不难,还有一些收费的插件,这些还没有尝试。作为基本使用来说后续就用它了。
一. 安装
使用最简单的 docker 安装, 就2步: 下载镜像,运行容器。
docker pull emqx/emqx:v3.1.2
docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8080:8080 -p 8088:18083 emqx/emqx:v3.1.2
image.png
注意以上端口,我这里把管理控制台端口映射为8088了。
二. 测试
缺省是匿名就可以订阅和发送 mqtt 指令了,用 MQTT Box 测试了 tcp 和 websocket 方式:
image.png注意 websocker 端口模式下 host 后需要跟后缀 /mqtt
2个方式的连接来回测试没有任何问题。
三. 管理和配置
通过自带的 Dashboard 界面来管理,非常直观方便,缺省用户密码是 admin/public
image.png
进一步修改配置,我们修改一下认证方式,实际使用肯定不能匿名就可以接入。 EMQ 提供了基本的 clientid 和 username 认证,还提供了很多种认证方式,都是以插件的方式随时打开和关闭。
1. 这里先尝试使用username认证,需要先启动对应的插件。
2. 另外需要关闭匿名方式,登录到容器里去修改配置文件:
docker exec -it 38bfbc0cc1a1 /bin/sh
cd etc
vi emqx.conf
注意这里的etc不是根目录下的,是/opt/emqx/etc下的
把这个 conf 下的 allow_anonymous = true 改成 allow_anonymous = false ,并重启容器。
3. 缺省没有任何用户,需要添加用户
添加用户可以(新版本只允许)通过 EMQ X 提供的 Http API 来添加,这个时候需要先创建一个应用来获取 应用 Appid 和 App密钥:
最后通过 postman 调用 post 请求添加用户,注意认证方式是基础认证方式,填入我们刚才创建的应用 Appid 和 App密钥:
image.png
API的接口文档参考官方git
创建完之后,再用 MQTT box 测试就必须填入用户和密码了,否则就连接失败了。
简单尝试先到这里,后续还会更多使用。