一、mqtt下载并安装
1、下载zip包
下载地址:https://www.emqx.io/downloads#broker 界面如下:
然后点击【Download】选择版本后点击【Download now->】下载
2、安装
创建mqtt文件夹存放zip包:
mkdir usr/local/mqtt
下载:
wget https://www.emqx.com/en/downloads/broker/3.1.2/emqx-centos7-v3.1.2.zip
解压:
unzip emqx-centos7-v3.1.2.zip
进入emqx界面:
二、mqtt使用
1、启动
# 启动emqx
./bin/emqx start
# 停止emqx
./bin/emqx stop
# 重启emqx
./bin/emqx restart
# 检查运行状态
./bin/emqx_ctl status
# 服务卸载
./bin/emqx uninstall
2、修改配置文件
emqx/etc/emqx.conf
允许匿名:allow_anonymous = true
3、设置账号密码
./bin/emqx_ctl users add 账号 密码
比如创建用户名为‘admin’,密码为‘password’,默认密码为【public】:
./bin/emqx_ctl users add admin password
4、访问Dashboard页面
页面地址:http://127.0.0.1:18083/#/ 输入账号名密码后如下图所示:
设置字体为中文,如下图所示:
5、默认占用的 TCP 端口
端口 | 用途 |
---|---|
1883 | MQTT 协议端口 |
8883 | MQTT/SSL 端口 |
8083 | MQTT/WebSocket 端口 |
8080 | HTTP API 端口 |
18083 | Dashboard 管理控制台端口 |
EMQ X R3.0 占用的上述端口,可通过【etc/emqx.conf】配置文件的【listener】段落设置。
通过注释或删除相关段落,可禁用相关 TCP 服务启动。
修改etc/emqx.conf里面的这几项,改完记得重启服务。
listener.tcp.external = 0.0.0.0:1883
listener.ssl.external = 8883
listener.ws.external = 8083
修改完端口后可以在Dashboard中的【监听器】菜单中查看,如下图所示:
6、客户端登录1883端口连接不上
首先排除外在原因,比如端口是否开放;
EMQ X服务器可能的原因是:
1、如果没有配置用户名/密码方式登录,则把【是否允许匿名登录】改为true
修改etc/emqx.conf配置文件
allow_anonymous = true
2、如果配置了用户名/密码方式登录,查看 有没有把你需要的用户名密码加入进去。
三、客户端测试
首先打开Dashboard,然后点击【连接】菜单,可以看到并没有客户端连接。
使用【paho-mqtt】连接服务端,这里我修改了各个端口,TCP端口改为了8874,SSL改为了8875,WS改为了8876。配置如下图所示:
其中【client ID 】随机生成一个即可,为了不重复。最后点击【Open connection】
可以看到正常启动了,这时候我们再去Dashboard中查看会发现有了一个客户端连接,如下图所示:
四、主题测试
客户端连接上以后,输入一个主题点击订阅,如下图所示:
可以在Dashboard上看到主题信息