EMQ X 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。
MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。
EMQ X 设计目标是实现高可靠,并支持承载海量物联网终端的MQTT连接,支持在海量物联网设备间低延时消息路由:
稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。
系统环境 ubuntu 14.04
2.1、安装预置条件
EMQ X 可以跨平台运行在 Linux、FreeBSD、MacOS 或 Windows 服务器甚至是树莓派上。
服务器最低配置为 512MB 内存且至少保留 1 GB 以上硬盘空间。
2.2、二进制包安装
EMQ 官网 提供热门 Linux 发行版、MacOS、Windows 操作系统以及 Docker 镜像的二进制包下载,当前支持的操作系统及平台请到官网下载页查阅。
2.3、源码编译安装
部分官网未提供二进制包的操作系统与平台如 Linux ARM、FreeBSB,可使用源码编译安装。
EMQ X 基于 Erlang/OTP 平台开发,项目托管的 GitHub 管理维护,源码编译依赖 Erlang 环境和 git 客户端。
2.4、首次安装 EMQ X
在安装 EMQ X 前,请确认安装的 前置条件 都已经满足。
EMQ X 支持多种操作系统,请选择合适您的版本下载。
2.5 在Linux下安装
对于 Linux 发布,EMQ X 提供两种方式的安装。一是基于各 linux 发布的安装包。用安装包安装 EMQ X 以后,可以方便的使用系统管理工具来启停 EMQ X 服务。二是使用 zip 压缩打包的通用包。安装 zip 包只需解压 zip 文件即可。使用 zip 包可以实现在同一个系统下安装多套 EMQ X。在开发 / 实验室环境下使用 zip 包安装 EMQ X 非常实用。
在安装以后您可以直接运行 EMQ X 来获得最初步的经验。除了在控制台,您也可以通过浏览器访问 http://127.0.0.1:18083 来使用 EMQ X 的 Web 管理控制界面。默认的登录名是 admin 和密码是 public。
通过浏览器访问 http://127.0.0.1:18083,您将看到一个 EMQ X 登录界面:
在输入用户名和密码后,你就可以使用 EMQ X Dashboard 的各项功能。在首次登录后,您看到的将是 EMQ X 控制台的信息汇总。这个页面显示了系统信息,节点信息,运行统计和一些统计指标。
你也可以对EMQ X做些简单的配置,让它适配你的运行环境和需求。
对 EMQ X 进行简单的配置
所有对 EMQ X 的配置都可以通过修改配置文件完成。配置文件的位置:
-
etc/emqx.conf : EMQ X 服务器的参数设置
-
etc/plugins/*.conf : EMQ X 插件配置文件,每个插件都有单独的配置文件。一些常用功能的配置也在 Web Dashboard 上进行修改。
更改Dashboard界面语言
在Web界面上选择toos->setting,你可以改变 Dashboard 使用的语言,点击 Apply 后生效。目前 EMQ X 支持中文和英文。
修改 Dashboard 默认登录名和密码
Dashboard 插件以 Web 界面的方式提供对 EMQ X 的管理和控制功能,是 EMQ X 的默认随系统启动的插件之一。在安装以后,您可以通过编辑配置文件的方式来改变 Dashboard 默认的用户名和密码。配置文件:
makun@makun:~$ cd emqx/etc/plugins/
makun@makun:~/emqx/etc/plugins$ vim emqx_dashboard.conf
dashboard.default_user.login = admin
dashboard.default_user.password = public
或者以 Web 方式管理 Dashboard 用户。在General->users菜单下,您可以修改用户密码和增加 / 删除用户。admin 用户只能修改密码,不能被删除。
在安装以后,EMQ X 默认会使用以下端口:
-
1883:MQTT协议端口
-
8883: MQTT/SSL 端口
-
8083: MQTT/WebSocket 端口
-
8080: HTTP API 端口
-
18083: Dashboard 管理控制台端口按照安装环境需要,可以修改以上端口。
修改协议端口请配置EMQ X系统配置文件‘etc/emqx.conf’,找到以下各行,并按需要修改端口号:
makun@makun:~/emqx/etc$ vim emqx.conf
listener.tcp.external = 0.0.0.0:1883
listener.ssl.external = 8883
listener.ws.external = 8083
修改 HTTP API 端口请编辑 emqx_management 插件的配置文件’etc/plugins/emqx_management.conf’,找到下述行,并按需修改端口号:
makun@makun:~/emqx/etc/plugins$ vim emqx_management.conf
management.listener.http = 8081
修改 Dashboard 管理控制台端口请编辑 emqx_dashboard 插件的配置文件’etc/plugins/emqx_dashboard.conf’, 找到下述行,并按需修改端口号:
makun@makun:~/emqx/etc/plugins$ vim emqx_dashboard.conf
dashboard.listener.http = 18083
在 Web General的 Listeners 菜单下,可以查看现在正在使用的监听器端口和属性。
启动 / 停止插件
插件是 EMQ X 的重要部分,EMQ X 的扩展功能基本都是通过插件实现的。包括 Dashbard 也是插件实现。
你可以在 Dashboard 的 plugins 菜单下启动和停止插件,或对插件进行简单的配置
EMQ X 的 Dashboard 本身也是一个插件,如果您在 Web 界面下停止了 Dashboard 插件,您将无法再使用 dashboard,直至您使用命令行工具再次启动 Dashboard。
修改 Erlang 虚拟机启动参数
EMQ X 运行在 Erlang 虚拟机上,在’etc/emqx.conf’中有两个限定了虚拟机允许的最大连接数。在运行 EMQ X 前可以修改这两个参数以适配连接需求:
makun@makun:~/emqx/etc/plugins$ vim emqx_dashboard.conf
-
node.process_limit : Erlang 虚拟机允许的最大进程数,EMQ X 一个连接会消耗 2 个 Erlang 进程;
-
node.max_ports : Erlang 虚拟机允许的最大 Port 数量,EMQ X 一个连接消耗 1 个 Port
-
在 Erlang 虚拟机中的 Port 概念并不是 TCP 端口,可以近似的理解为文件句柄。
这两个参数可以设置为:
-
node.process_limit: 大于最大允许连接数 * 2
-
node.max_ports: 大于最大允许连接数
EMQX
和 Docker 的运行依赖一些内核组件,因此需要先
配置
好相关内核子系统及其功能特性。
Device Drivers --->
[*] Network device support --->
<*> Virtual ethernet pair device
Docker 方式
安装
1. 下载
emqx
镜像
在 https://github.com/
emqx
/
emqx
/releases 中找到需要的
emqx
镜像,并下载。例如 e
EMQ
X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源
物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时
(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布
订阅模式(PubSub) 的物联网消息协议。 本文介绍了
emqX
集群
安装
、
emqx
3.26 v3.2.6
安装
及性能调优。
包括
emqx
的dockerFile和
配置
文件,只需要按步骤执行两条命令就可迅速部署
emqx
。
1.解压 ,
配置
emqx
_auth_redis.conf中redis连接地址
2.进入解压目录,执行docker build . 得到镜像
docker run --name
emqx
-p 1883:1883 -p 8883:8883 -p 18083:18083 -d 镜像id
服务启动成功。
物联网系统中想要实现用户控制设备(比如开关打开)、用户获取设备状态(比如获取温度信息),就需要用户和设备之间可以相互发送数据。这里博主选择MQTT协议提供用户和设备之间的交互能力。
EMQX
开源版:全球下载量超千万的开源物联网 MQTT 服务器,高效可靠连接海量物联网设备,高性能实时处理消息与事件流数据,可运行在公有云、私有云和混合云上。巴拉巴拉。。。(这段从
EMQX
官网抄的😮💨,总之是个MQTT服务器)
1.
EMQX
基础
配置
1.1关闭匿名登录
EMQX
安装
后默认允许匿名登陆,用户使用任意
1. 下载
EMQ
X的
安装
包,可以从官网或者GitHub上下载。
2. 解压
安装
包,可以使用命令tar -zxvf
emqx
-x.x.x-
linux
-x64.tar.gz进行解压。
3. 进入解压后的目录,执行./bin/
emqx
start命令启动
EMQ
X。
4. 如果需要
配置
EMQ
X,可以编辑./etc/
emqx
.conf文件进行
配置
。
5. 如果需要停止
EMQ
X,可以执行./bin/
emqx
stop命令停止。
6. 如果需要卸载
EMQ
X,可以执行./bin/
emqx
uninstall命令进行卸载。
注意:在
安装
和
配置
EMQ
X时,需要具备一定的
Linux
基础知识和操作经验。
### 回答2:
安装
EMQ
X MQTT Broker是为了构建企业级,高性能和可扩展MQTT消息代理的首选。 它是基于良好的开源技术栈(Erlang / OTP)构建的,并提供了丰富的插件,如MQTT Websocket,MQTT TLS / SSL,集群,数据桥接,消息存储等等。 在
Linux
平台上,我们有两种
安装
方式。一是使用YUM / APT软件包管理器,另一种是手动
安装
。
一、使用YUM / APT软件包管理器
安装
EMQ
X MQTT Broker:
在
Linux
System上,我们使用软件包管理器“yum”(CentOS / RHEL)或“apt”(Debian /
Ubuntu
)来
安装
EMQ
X。
首先,我们需要先添加
EMQ
X包到repository列表。在终端中键入以下命令:
CentOS / RHEL 7.x系统:
wget https://repos.
emqx
.io/centos/
emqx
.repo -O /etc/yum.repos.d/
emqx
.repo
yum clean all
yum makecache
yum install
emqx
Debian /
Ubuntu
系统:
wget https://repos.
emqx
.io/debian/
emqx
.list -O /etc/apt/sources.list.d/
emqx
.list
wget https://repos.
emqx
.io/gpg.pub
apt-key add gpg.pub
apt-get update
apt-get install
emqx
二、手动
安装
EMQ
X MQTT Broker:
1. 在
Linux
系统中,下载
EMQ
X并解压:
wget https://www.
emqx
.io/downloads/broker/v4.3.6/
emqx
-
ubuntu
18.04-v4.3.6.zip
unzip
emqx
-
ubuntu
18.04-v4.3.6.zip
2. 停止或卸载已存在的
EMQ
X实例(如果有):
./
emqx
/bin/
emqx
stop
ps aux | grep
emqx
| grep -v grep | awk '{print $2}' | xargs kill -9
3. 启动
EMQ
X MQTT broker:
./
emqx
/bin/
emqx
start
当
EMQ
X成功运行时,将在
EMQ
X Web Dashboard URL(http:// localhost:18083)上看到欢迎消息,也可以使用以下命令验证它:
./
emqx
/bin/
emqx
_ctl status
通过上述步骤可以成功
安装
EMQ
X。在
EMQ
X Web控制面板界面上,我们可以通过Metrics选项卡轻松监控MQTT面板的健康状况。在下拉菜单中,用户可以选择要监控的指标。
### 回答3:
EMQ
X是一种基于Erlang语言的MQTT Broker,它具有高可靠性、高并发处理能力、分布式部署能力等优点,在物联网应用中具有广泛的应用场景。在
Linux
操作系统上
安装
EMQ
X也非常方便,下面将介绍如何
安装
EMQ
X。
步骤一、下载
EMQ
X软件包
首先,我们需要从
EMQ
X官网上下载
EMQ
X的软件包,下载地址为:http://
emqx
.io/downloads。下载完成后,将
EMQ
X的软件包上传到
Linux
服务器上。
步骤二、解压
EMQ
X软件包
将
EMQ
X的软件包解压到某个目录中,例如:/data/
emqx
。解压命令为:tar -zxvf
emqx
-4.3.7-
linux
-x64.tar.gz。
步骤三、
安装
EMQ
X
进入解压后的
EMQ
X目录:cd /data/
emqx
,执行
EMQ
X的
安装
程序:./bin/
emqx
start。等待一段时间后,
安装
程序会自动完成
EMQ
X的
安装
工作。
步骤四、
配置
EMQ
X
默认情况下,
EMQ
X的
配置
文件位于/etc/
emqx
目录下。通过修改该目录下的
emqx
.conf文件,可以修改
EMQ
X的
配置
信息。比如,我们可以修改端口号、日志等级、MQTT协议版本等信息。
步骤五、启动
EMQ
X
执行命令:./bin/
emqx
start,启动
EMQ
X。通过
EMQ
X自带的Web界面,可以管理MQTT连接、订阅、发布等功能。Web界面的访问地址为:http://localhost:18083。
EMQ
X是一款强大的MQTT Broker软件,它可以在
Linux
操作系统上稳定运行。
安装
EMQ
X的过程也非常简单,只需下载、解压、
安装
即可。如果想更深入地了解
EMQ
X的使用和
配置
,建议参考官方文档。