LiteOS云端对接教程02-使用EMQ-X搭建私有MQTT服务器

举报
小熊派开源社区 发表于 2020/02/18 12:03:00 2020/02/18
【摘要】 1. EMQ XEMQ X与emqttd的关系EMQ X全称Erlang/Enterprise/Elastic MQTT Broker,它是基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群,发布订阅模式的百万级开源MQTT消息服务器。说起EMQ-X,其它的前身就是emqttd消息服务器,自emqttd 3.0 版本起更名为EMQ-X。EMQ X支持的协议EMQ X 消息服务器...

1. EMQ X

EMQ X与emqttd的关系

EMQ X全称Erlang/Enterprise/Elastic MQTT Broker,它是基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群,发布订阅模式的百万级开源MQTT消息服务器。

说起EMQ-X,其它的前身就是emqttd消息服务器,自emqttd 3.0 版本起更名为EMQ-X。

image.png

EMQ X支持的协议

EMQ X 消息服务器完整支持 MQTT V3.1/V3.1.1/V5.0 版本协议规范,并扩展支持 MQTT-SN 、WebSocket、CoAP、LwM2M、Stomp 以及私有 TCP/UDP 协议。

其中,MQTT-SN、CoAP 协议已在2.0-rc.1版本发布,LwM2M、LoRaWan 协议在 3.0 版本中发布。

EMQ X支持的部署平台

EMQ X 的每个版本都提供如下平台的软件包:

  • Linux:CentOS、Ubuntu、Debian、FreeBSD、OpenSUSE

  • MacOS

  • Windows

部署时直接在官方下载链接下载zip压缩包,解压后直接运行即可。

另外,EMQ X 还提供Docker镜像,可以在Docker中直接部署。

关于各个平台的部署方法,可以参考官方部署文档,本文中只讲述如何在Linux服务器上使用zip方式部署和使用docker方式部署,本文所使用的是腾讯云服务器,配置1核2G,系统是Ubuntu  18.04 64位。

2. 使用zip压缩包部署

使用v3.1.0版本,其它高版本测试有问题!

获取zip包下载链接

访问官方下载链接,选择需要下载的版本和系统,之后复制下载链接:

image.png

下载软件包

登录云服务器,使用wget工具下载:

wget <刚刚复制的下载链接>

比如这里我的下载命令是:

wget https://www.emqx.io/downloads/broker/v3.1.0/emqx-ubuntu18.04-v3.1.0.zip

image.png

解压zip包

zip包需要使用unzip工具解压,使用如下命令查询unzip是否安装:

unzip -v

我的电脑上已安装,所以查询结果如图:

image.png    

如果没有查询到,请使用如下命令安装:

sudo apt-get install unzip

确保已经安装unzip之后,解压刚刚下载的压缩包:

unzip e<按一下Tab自动补全>

image.png

启动EMQ X

进入解压出的文件夹:

cd emqx

然后使用如下命令启动emqx:

sudo ./bin/emqx start

启动成功之后如图:

image.png

查询一下emqx的状态,检查一下是否真正成功启动:

sudo ./bin/emqx_ctl status

image.png

特别注意:如果云服务器默认有安全组配置(阿里云),或者开启了宝塔面板,一定要记得放行如下TCP端口。

EMQ X 消息服务器默认占用的 TCP 端口包括:

端口说明
1883
MQTT 协议端口
8883
MQTT/SSL 端口
8083
MQTT/WebSocket 端口
8080
HTTP API 端口
18083
Dashboard 管理控制台端口


接下来可以跳至第4节,登录后面控制面板。

3. 使用docker部署


安装docker

参考我的博客:Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式)

获取docker镜像

通过 Docker Hub 获取docker镜像:

sudo docker pull emqx/emqx:v3.1.0

image.png

启动 docker 容器

使用如下命令启动docker容器:

sudo docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v3.1.0

启动之后如图:

image.png

启动之后查看docker进程,检查一下是否运行:

sudo docker ps

image.png

特别注意:如果云服务器默认有安全组配置(阿里云),或者开启了宝塔面板,一定要记得放行如下TCP端口。

EMQ X 消息服务器默认占用的 TCP 端口包括:

端口说明
1883
MQTT 协议端口
8883
MQTT/SSL 端口
8083
MQTT/WebSocket 端口
8080
HTTP API 端口
18083
Dashboard 管理控制台端口


停止docker服务

如果不需要使用EMQ-X,使用如下命令停止docker服务:

sudo docker stop <查看到的进程号>

如图:


image.png

4. 访问DashBoard并进行简单设置


访问DashBoard

访问http://<服务器ip地址或域名>:18083即可访问到EMQ-X的后台登录界面,使用用户名admin和密码public登录:

image.png

登陆成功之后,后台界面如图:

image.png

语言和主题设置

默认是英文和dark-themes,可以在setting界面进行更改:

image.png

中文界面如下:


image.png

用户设置

刚刚登录面板使用的是默认用户名和密码,安全起见,可以在user界面修改:

image.png



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。