服务器 emq在哪里 emq mqtt服务器
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 '[email protected]' 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 '[email protected]' is started emqttd 2.0 is runningEMQ 消息服务器提供了状态监控 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/sh4.源码编译安装
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:///emqtt/emq-relx.git cd emq-relx && make cd _rel/emqttd && ./bin/emqttd console编译成功后,可执行程序包在目录:
_rel/emqttd 控制台启动编译的 EMQ 程序包: cd _rel/emqttd && ./bin/emqttd console