专栏首页TencentOS-tinyEMQ X | 百万级的开源MQTT消息服务器(搭建一个私有MQTT服务器)

EMQ X | 百万级的开源MQTT消息服务器(搭建一个私有MQTT服务器)

2860元腾讯云代金券免费领取,付款直接抵现金,立即领取>>>

腾讯云海外服务器1折限时抢购,2核4G云主机689元/1年,立即抢购>>>

腾讯云服务器1折限时抢购,2核4G云主机689元/3年,立即抢购>>>

1. EMQ X

EMQ X 与 emqttd 的关系

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

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

EMQ X

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

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

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

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

2. 使用 zip 压缩包部署

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

获取 zip 包下载链接

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

获取下载链接

下载软件包

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

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

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

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

下载zip包

解压 zip 包

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

unzip -v

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

unzip查询结果

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

sudo apt-get install unzip

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

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

解压zip包

启动 EMQ X

进入解压出的文件夹:

cd emqx

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

sudo ./bin/emqx start

启动成功之后如图:

启动成功

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

sudo ./bin/emqx_ctl status

查询启动成功

特别注意:如果云服务器默认有安全组配置(阿里云),或者开启了宝塔面板,一定要记得放行如下 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 上的安装、更新、卸载方法(存储库方式)[4]。(今天的第二篇文章)

获取 docker 镜像

通过 Docker Hub 获取 docker 镜像:

sudo docker pull emqx/emqx:v3.1.0

拉取docker镜像

启动 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

启动之后如图:

启动docker容器

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

sudo docker ps

查看docker运行进程

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

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

端口

说明

1883

MQTT 协议端口

8883

MQTT/SSL 端口

8083

MQTT/WebSocket 端口

8080

HTTP API 端口

18083

Dashboard 管理控制台端口

停止 docker 服务

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

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

如图:

停止docker服务

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

访问 DashBoard

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

登录界面

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

后台界面

语言和主题设置

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

设置界面

中文界面如下:

中文界面

用户设置

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

设置用户名和密码

参考资料

[1]官方下载链接: https://www.emqx.io/cn/downloads

[2]官方部署文档: https://docs.emqx.io/broker/v3/cn/install.html

[3]官方下载链接: https://www.emqx.io/downloads/broker/v3.1.0/

[4]Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式): https://blog.csdn.net/Mculover666/article/details/103642407

本文分享自微信公众号 - Mculover666(Mculover666),作者:mculover666

原文出处及转载信息见文内详细说明,如有侵权,请联系 [email protected] 删除。

原始发表时间:2020-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)

    MQTT.fx[1]是一款基于 Eclipse Paho,使用 Java 语言编写的 MQTT 客户端工具。支持通过 Topic 订阅和发布消息,用来前期和物联...

    Mculover666
  • EMQ X 消息服务器简介

    EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服...

    ccf19881030
  • Java物联网开发(二) —— 开源百万级分布式 MQTT 消息服务器EMQX

    Mnesia 数据库是 Erlang 内置的一个分布式 DBMS,可以直接存储 Erlang 的各种数据结构 EMQ X 使用 Mnesia 数据库存储自...

    时间静止不是简史
  • EMQ百万级MQTT消息服务(介绍和搭建)

    先上节了解完MQTT之后我们需要选择一个MQTT服务端,在MQTT官方推荐下找了找最后选择了使用EMQ来进行服务端实现,EMQ有什么优势可以在官方推荐的那么多的...

    喵了个咪233
  • 物联网云智能开发—EMQ X云服务器搭建及测试教程

    最近在做物联网相关开发的时候有用到EMQ服务器进行MQTT协议信息传输,今天在这里和大家记录一下EMQ服务器在Windows环境下的搭建以及简单的使用教程。

    灰小猿
  • EMQX MQTT 服务器(下篇)| 开启客户端身份安全认证并使用mqtt.fx测试

    经过实际测试,EMQ X 版本高于 3.0.1 版本无法配置使用插件,所以在进行本节实验之前,先删除原有的 EMQ-X,下载安装 3.0.1 版本。

    Mculover666
  • 使用 WebSocket 客户端连接 MQTT 服务器

    近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket ...

    杨奉武
  • 动手写物联网平台(二、物联网和MQTT协议简介)

    物联网(Internet of Things,IoT)最近曝光率越来越高。虽然HTTP是网页的事实标准,不过机器之间(Machine-to-Machine,M2...

    杨永贞
  • IOT设备通讯协议MQTT

    哈喽大家好呀!笔者的公司最近在做IOT设备相关的业务,基于这个契机寻找学习了一下关于IOT通讯协议相关的内容,最终在技术选型上选择了使用MQTT协议并且结合EM...

    喵了个咪233
  • Mosquitto源码分析及用go语言的重新实现(一、开篇)

    Mosquitto是用C语言实现的MQTT物联网协议v3.1 的消息代理服务器。提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变...

    杨永贞
  • EMQ百万级MQTT消息服务

    用户1263954
  • MQTT in Industry:电信运营商基于 MQTT 协议构建千万级 IoT 设备管理平台

    MQTT 是用于物联网的标准消息传递协议。它被设计为一种非常轻量级的发布/订阅消息传送,非常适合以较小的代码占用量和网络带宽连接远程设备。MQTT 协议具有以下...

    CNCF
  • 「物联网技术」EMQX 的MQTT 和 Kafka 对比

    MQTT与Kafka完全不同。MQTT是由OASIS技术委员会的成员(大多数是IBM和Microsoft的高级工程师)开发的协议和技术标准。Kafka是Link...

    首席架构师智库
  • 如何在树莓派4B上安装EMQ X Broker

    跟师新生命的创始人大石头玩树莓派下的.NET Core有几个月时间了,一直想从零开始写一些入门的东西,但看了淘宝、京东还有哔哩哔哩等平台上很多入门的教程了,就一...

    崔文远TroyCui
  • 原 荐 EMQ百万级MQTT消息服务(小技巧)

    附上: 喵了个咪的博客:w-blog.cn EMQ官方地址:http://emqtt.com/ EMQ中文文档:http://emqtt.com/docs/v2...

    喵了个咪233
  • 原 EMQ百万级MQTT消息服务(分布式集群)

    在强大的单机也比不上集群,EMQ的集群模式很粗暴,只需要把EMQ服务关联在一起然后负载均衡就可以达到集群的效果,这样就算面对1000CK问题也迎刃而解 附上: ...

    喵了个咪233
  • 【玩转ESP32】13、esp32 mqtt基础

    MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下...

    ManInRoad
  • Java物联网开发(一) —— MQTT协议

    官方文档传送门 mqtt官网 mqtt中文网 mqtt 3.1.1 英文文档 mqtt 5.0 英文文档 b站mqtt教程

    时间静止不是简史
  • iOS MQTT----MQTTClient实战-看这篇的就够了

    MQTT 是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比...

    onety码生

扫码关注云+社区

领取腾讯云代金券

http://www.vxiaotou.com