MQTT系列教程2(消息服务器EMQ的搭建和使用)
EMQ 是一个百万级分布式开源物联网 MQTT 消息服务器。本文演示如何在 CentOS 服务器上部署 EMQ。
二、EMQ 的搭建和使用
1,EMQ 介绍
EMQ 是一个基于高并发的 Erlang/OTP 语言平台设计,支持百万级连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。
2,安装步骤
(1)首先执行如下命令安装 unzip:
(2)接着我们访问如下地址找到适合我们系统的版本:
yum -y install unzip
(2)接着我们访问如下地址找到适合我们系统的版本:
(3)红框处即为适合 CentOS 7 的版本,复制其连接地址:

(4)使用 wget 命令将压缩包下载到本地:
(5)执行如下命令将其解压到指定路径:
(6)执行如下命令开始编辑系统环境配置:
(7)按下 i 键进入编辑模式,在末尾添加如下内容:
(8)编辑完毕后按下 esc 退出编辑模式。 接着组合按下 shift + : 开启命令,然后输入 wq 回车,保存退出。
wget http://emqtt.com/static/brokers/emqttd-centos7-v2.3.11.zip
(5)执行如下命令将其解压到指定路径:
unzip emqttd-centos7-v2.3.11.zip && mv emqttd /usr/local
(6)执行如下命令开始编辑系统环境配置:
vi /etc/profile
(7)按下 i 键进入编辑模式,在末尾添加如下内容:
# emqtt export EMQPATH=/usr/local/emqttd export PATH=$EMQPATH/bin:$PATH
(8)编辑完毕后按下 esc 退出编辑模式。 接着组合按下 shift + : 开启命令,然后输入 wq 回车,保存退出。
(9)接着执行如下命令更新环境变量:
(10)执行如下命令检查 emq 是否正常:
(11)输出结果如下代表正常:
source /etc/profile
(10)执行如下命令检查 emq 是否正常:
emqttd console
(11)输出结果如下代表正常:

注意:这里只开放两个常用的端口,EMQ 还有其他一些服务端口(具体见文章末尾),大家可以按需开放。
firewall-cmd --permanent --add-port=1883/tcp firewall-cmd --permanent --add-port=18083/tcp firewall-cmd --reload
3,启动 EMQ 服务
(1)执行如下命令启动服务:
(2)执行如下命令查看当前状态:
emqttd start
(2)执行如下命令查看当前状态:
emqttd_ctl status

4,使用 EMQ 服务
(1)当 EMQ 启动之后我们就可以使用客户端进行连接了,各个服务端口如下:
- 1883:MQTT 协议端口
- 8883:MQTT/SSL 端口
- 8083:MQTT/WebSocket 端口
- 8080:HTTP API 端口
- 18083:Dashboard 管理控制台端口
(2)EMQ 提供了一个后端 Web 控制台,用户可通过 Web 控制台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。
- 访问地址:http://服务器IP:18083
- 默认用户名:admin
- 默认密码:public
