EMQ X Broker消息服务器在Rainbond上的部署及应用制作

一. 关于EMQ X


EMQ X Broker 是基于高并发的 Erlang/OTP 语言平台开发,支持百万级连接和分布式集群架构,发布订阅模式的国产开源 MQTT 消息服务器。

EMQ X Broker 在全球物联网市场广泛应用。无论是产品原型设计、物联网创业公司、还是大规模的商业部署,EMQ X Broker 都支持开源免费使用。

二. 快速安装方式

EMQ X Broker 应用已分享到Rainbond应用市场,通过 Rainbond社区开源商店 即可一键安装。

三. 应用制作流程

制作过程使用了EMQ X Broker 官方提供的Docker镜像,因为官方镜像使用时区为 UTC,所以在原docker镜像基础上做了修改,将时区设置为 Asia/Shanghai

FROM emqx/emqx:4.2.2
USER root
RUN apk update \
    && apk add tzdata \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone

使用镜像的方式进行部署

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:4.2.2

在部署时Rainbond会自动检测镜像中的 VOLUM 配置,将存储自动挂载出来,在实际部署过程中发现把相关目录挂载出来后组件不能正常启动,缺少相关文件,在Github上向EMQ X 官方提交了issue,经过官方技术人员的帮助,最终存储配置挂载如下,组件正常启动。

打开相关端口

组件部署完成后,需要调整相关端口策略,相关策略参考官方文档

四. 访问web界面

在当前版本中,EMQ X Dashboard 被默认启用,访问 18083 端口的对外服务域名,即可访问到EMQ X Broker web页面,默认用户名及密码 admin/public

设置中文

打开WebSocket支持

8083 8084 端口打开http协议对外服务后,需要开启WebSocket支持,在 应用界面-->网关 中找到对应的域名后点击 参数配置,将WebSocket支持打开即可

测试WebSocket支持

在 EMQ X Dashboard 界面中点击 工具-->Websocket,填写 主机地址,即 8083 端口的对外域名,端口为 80,点击连接,状态为已连接时即可正常连接。

EMQ X官方文档:https://docs.emqx.net/broker/latest/cn/