Linux搭建mqtt环境

选择Broker

目前主流的Broker有以下3个:

环境搭建

使用EMQTT搭建mqtt环境

1. 下载对应版本的安装包

1
https://www.emqx.io/downloads#broker

2. 解压并运行

1
emqx console

3.访问web监控平台

1
http://192.168.2.2:18083/

4. 本地连接测试

4.1 连接工具下载

​ win7 64位系统,选择 org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.zip

1
https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.0.2/

emqtt常用命令

命令 作用
emqttd start 启动 emqtt 服务
emqttd stop 停止 emqtt 服务
emqttd restart 重启 emqtt 服务
emqttd_ctl status 查看 emqtt 服务状态

EMQTT安全设置

用户密码认证

默认情况下,emqtt 服务会启用匿名认证,也就是说连接 emqtt 的服务时,不需要任何的账号密码,就可以连接,但通常情况下,我们会对连接 emqtt 服务的账号和密码加以控制,这时我们就需要来修改 emqtt 的配置文件

1. 修改配置文件

/emqtt/bin/etc/emq.conf

1
2
//设置
mqtt.allow_anonymous=false

2. 配置用户密码认证

1
2
3
4
5
6
vim /emqtt/emqttd/etc/plugins/emqx_auth_username.conf

auth.user.1.username = admin
auth.user.1.password = admin

:wq

3. 开启用户密码认证插件

  • 第一种方式:emqttd_ctl plugins load emq_auth_username
  • 第二种方式:在 web 管理控制台中开启该插件

4. 重启服务

1
emqttd restart

Clientid 认证

编辑/emqtt/emqttd/etc/plugins/emq_auth_clientid.conf

1
2
3
//设置
auth.client.1.clientid = clientid
auth.client.1.password = root

1.开启 Clientid 认证插件

  • 第一种方式:emqttd_ctl plugins load emq_auth_clientid
  • 第二种方式:在 web 管理控制台中开启该插件

2. 重启服务,使插件生效

1
emqttd restart