Linux下EMQ X的安装和配置

1、 EMQ X的简介

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 或私有协议支持。

2、Linux下安装EMQ X

系统环境 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 非常实用。

在这里我们进入官网:https://www.emqx.io/cn/downloads#broker下载EMQ 软件包,目前 EMQ X 支持 Ubuntu 12.04、14.04、16.04 和 18.04,在这些版本上的安装过程一致。以下安装过程以 Ubuntu 14.04 为例。
在这里插入图片描述
使用zip包安装
在这里插入图片描述

解压zip文件

makun@makun:~$ unzip emqx-ubuntu14.04-v4.1.1.zip

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

cd emqx && ./bin/emqx console

如果安装成功,可以在控制台看到一下输出:

Starting emqx on node emqx@127.0.0.1
Start http:management listener on 8081 successfully.
Start http:dashboard listener on 18083 successfully.
Start mqtt:tcp listener on 127.0.0.1:11883 successfully.
Start mqtt:tcp listener on 0.0.0.0:1883 successfully.
Start mqtt:ws listener on 0.0.0.0:8083 successfully.
Start mqtt:ssl listener on 0.0.0.0:8883 successfully.
Start mqtt:wss listener on 0.0.0.0:8084 successfully.
EMQ X Broker 4.1.1 is running now!

在这里插入图片描述
CTRL+C 关闭控制台。守护进程模式启动:

./bin/emqx start

在这里插入图片描述

3、首次运行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: 大于最大允许连接数

在这里插入图片描述

  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值