EMQ官方文档地址:https://www.emqx.io/docs/zh/v2.0/(中文)

一.EMQ(消息服务器)介绍

1.EMQ (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。

2.EMQ 项目设计目标是承载移动终端或物联网终端海量 MQTT 连接,并实现在海量物联网设备间快速低延时消息路由:

l 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。

l 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。

l 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。

l 完整物联网协议支持,MQTT、MQTT-SN、CoAP、WebSocket 或私有协议支持

二.EMQ的安装(此文档只列举在Centos7.*安装)

EMQ消息服务器每个版本都出发布Ubuntu、CentOS、FreeBSD、Mac OS X、Windows 平台程序包与 Docker 镜像;

下载地址:http://emqtt.com/downloads

安装方式:

1. rpm包安装

EMQ Linux RPM 程序包:

CentOS6.8

http://emqtt.com/downloads/latest/centos6-rpm

CentOS7

http://emqtt.com/downloads/latest/centos7-rpm

下载后可以直接解压启动运行

rpm -ivh emqttd-centos7-v2.1.2-1.el7.centos.x86_64.rpm

注解

Erlang/OTP R19 依赖 lksctp-tools 库

yum install lksctp-tools

配置文件

EMQ 配置文件: /etc/emqttd/emq.conf,插件配置文件: /etc/emqttd/plugins/*.conf。

日志文件

日志文件目录: /var/log/emqttd

数据文件

数据文件目录:/var/lib/emqttd/

启动停止

systemctl start|stop|restart emqttd.service

2. Linux通用包安装

EMQ Linux 通用程序包:

Ubuntu12.04

http://emqtt.com/downloads/latest/ubuntu12_04

Ubuntu14.04

http://emqtt.com/downloads/latest/ubuntu14_04

Ubuntu16.04

http://emqtt.com/downloads/latest/ubuntu16_04

CentOS6.8

http://emqtt.com/downloads/latest/centos6

CentOS7

http://emqtt.com/downloads/latest/centos7

Debian7

http://emqtt.com/downloads/latest/debian7

Debian8

http://emqtt.com/downloads/latest/debian7

FreeBSD

http://emqtt.com/downloads/latest/freebsd

安装包命名由平台、版本组成,例如: emqttd-macosx-v2.0.zip

CentOS 平台为例,下载安装过程:

安装包emqttd-centos7-v2.0.zip

自行创建目录如emqttd将安装包解压在此目录中

此处下载的是zip格式的压缩包,使用unzip解压,如果出现

-bash: unzip: command not found

可使用yum进行安装:yum install -y unzip

yum install -y zip

unzip emqttd-centos7-v2.0.zip

控制台调试模式启动,检查 EMQ 是否可正常启动:

cd emqttd

./bin/emqttd console

EMQ 消息服务器如启动正常,控制台输出:

starting emqttd on node 'emqttd@127.0.0.1'

emqttd ctl is starting...[ok]

emqttd hook is starting...[ok]

emqttd router is starting...[ok]

emqttd pubsub is starting...[ok]

emqttd stats is starting...[ok]

emqttd metrics is starting...[ok]

emqttd pooler is starting...[ok]

emqttd trace is starting...[ok]

emqttd client manager is starting...[ok]

emqttd session manager is starting...[ok]

emqttd session supervisor is starting...[ok]

emqttd wsclient supervisor is starting...[ok]

emqttd broker is starting...[ok]

emqttd alarm is starting...[ok]

emqttd mod supervisor is starting...[ok]

emqttd bridge supervisor is starting...[ok]

emqttd access control is starting...[ok]

emqttd system monitor is starting...[ok]

dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.

mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.

mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.

mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.

Erlang MQTT Broker 2.0 is running now

CTRL+c 关闭控制台。守护进程模式启动:

./bin/emqttd start

启动错误日志将输出在 log/ 目录。

EMQ 消息服务器进程状态查询:

./bin/emqttd_ctl status

正常运行状态,查询命令返回:

$ ./bin/emqttd_ctl status

Node 'emqttd@127.0.0.1' is started

emqttd 2.0 is running

EMQ 消息服务器提供了状态监控 URL

http://localhost:8080/status

停止服务器:

./bin/emqttd stop

3.Docker 镜像安装

EMQ 2.0 Docker 镜像下载: http://emqtt.com/downloads/latest/docker

解压 emqttd-docker 镜像包:

unzip emqttd-docker-v2.0.zip

加载镜像:

docker load < emqttd-docker-v2.0

启动容器:

docker run -tid --name emq20 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqttd-docker-v2.0

停止容器:

docker stop emq20

开启容器:

docker start emq20

进入 Docker 控制台:

docker exec -it emq20 /bin/sh

4.源码编译安装

EMQ 消息服务器基于 Erlang/OTP 平台开发,项目托管的 GitHub 管理维护,源码编译依赖 Erlang 环境和 git 客户端。

注解

EMQ R2.3+ 依赖 Erlang R20+ 版本

Erlang 安装: Index - Erlang/OTP

Git 客户端: Git

Ubuntu 平台可通过 apt-get 命令安装,CentOS/RedHat 平台可通过 yum 命令

编译环境准备好之后,clone 代码开始编译:

git clone https://github.com/emqtt/emq-relx.git

cd emq-relx && make

cd _rel/emqttd && ./bin/emqttd console

编译成功后,可执行程序包在目录:

_rel/emqttd

控制台启动编译的 EMQ 程序包:

cd _rel/emqttd && ./bin/emqttd console

EMQ(emqttd)的介绍和安装相关推荐

  1. emqttd配置_EMQ(emqttd)的介绍和安装

    EMQ(消息服务器)介绍 1000万规模的路由. MQTT.MQTT-SN.CoAP.WebSocket 或私有协议支持 二.EMQ的安装(此文档只列举在Centos7.*安装) EMQ消息服务器每个 ...

  2. Scrapy-Splash的介绍、安装以及实例

    scrapy-splash的介绍   在前面的博客中,我们已经见识到了Scrapy的强大之处.但是,Scrapy也有其不足之处,即Scrapy没有JS engine, 因此它无法爬取JavaScrip ...

  3. Springlake-01 介绍功能安装

    Springlake-01 介绍&功能&安装 1. 简介与功能 1)Springlake 是一个企业内容平台SECP 2)是一个可配置的系统,80%内容可以配置 3)允许建立和配置垂直 ...

  4. Kafka系列一之架构介绍和安装

    Kafka架构介绍和安装 写在前面 还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它.简单来说,kafka既是一个消息队列,如今,它也 ...

  5. SharpWebMail介绍和安装(转)

    SharpWebMail介绍和安装 什么是:SharpWebMail SharpWebMail是一款C#开发的基于WEB应用程序的多语言的WEB邮件服务.它允许我们使用SMTP或IMAP服务来完成发送 ...

  6. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  7. Storm介绍及安装部署

    本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...

  8. LNMP基础架构介绍与安装

    1.LNMP架构介绍 LNMP==Linux+Nginx+Mysql+PHP  nginx:省资源,省cpu,所以在高并发时能够处理更多的请求,高端能达到3万到5万的并发量.  nginx和LAMP不 ...

  9. 2.1 DNS服务介绍和安装

    DNS服务介绍和安装 一 DNS概述 通过为每台主机建立IP地址与域名之间的映射关系,用户可以避开难记的IP地址,而是用域名就可以访问网络中的站点:即平常我们上网输入的都是域名,www.baidu.c ...

  10. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

最新文章

  1. mysql for Mac 下创建数据表中文显示为?的解决方法
  2. python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...
  3. PLinq Lookup ParallelQuery
  4. boost::math::tools::polynomial用法的测试程序
  5. js 获取日期并格式化
  6. 响应式网格项目动画布局_响应式网格及其实际使用方式:常见的UI布局
  7. IP通信基础 4月1日
  8. idea terminal终端修改为git bash设置
  9. LeetCode——866.回文素数
  10. sybase函数学习(八)
  11. jQuery Mobile中导航栏navbar的data-*选项
  12. 【生信进阶练习1000days】day13-GEOquery
  13. matlab 最小二乘法拟合_最小二乘法与高斯马尔科夫定理(无偏性、有效性)
  14. [Leetcode] 158. Read N Characters Given Read4 II - Call multiple times 解题报告
  15. 弘辽科技:淘宝开店可以卖不同类型产品吗?会有问题吗?
  16. Excel表格自动化办公(持续更新)
  17. 如何在公众号添加付费链接
  18. 前后端交互之form表单和模板引擎
  19. 银行中的等额本息,及其与等额本金的对比
  20. 【大数据开发】SparkCore——自定义排序、实现序列化、自定义分区器

热门文章

  1. Ubuntu 18.04 查看本机IP地址的两种方法 ip和ifconfig
  2. Gridea 让你更方便地用 Github Pages 和 Coding Pages 搭建静态博客
  3. drawrect java_java - g.drawRect在背景后面绘制矩形 - 堆栈内存溢出
  4. 调调Eclipse3.5
  5. H.266代码学习:xEncodeCU函数
  6. 最近几年,国内好多家实体企业都开始用上低代码了,它有什么好?
  7. 2022-2028全球微波等离子体CVD反应器行业调研及趋势分析报告
  8. 传统集卡变成无人驾驶,需要做出哪些改变
  9. outlook的服务器pop3协议,Outlook2010 POP3方式连接Hotmail等邮箱的错误处理
  10. 音视频文件的码率与大小计算