原文链接:http://www.ibearzmblog.com/#/technology/info?id=9dd5bf4159d07f6a4e69a6b379ce4244
前言
在物联网中,大多通信协议使用的都是MQTT,而EMQX是基于 Erlang/OTP 平台开发的 MQTT 消息服务器,它的优点很多,我这里就不一一讲解,今天我们先来学习下如何部署EMQX(我这里使用的开源版)。
这里上一下官方文档:https://www.emqx.io/docs/zh/v5.1/getting-started/getting-started.html#安装-emqx
部署
docker部署emqx很简单,首先需要创建挂载目录:
mkdir -p /opt/emqx/{etc,lib,data,log}
我们需要将容器内emqx的配置文件都要复制下来,所以先运行:
docker stop emqx
docker rm emqx
docker run -d \
--name emqx \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
docker.io/emqx/emqx
接着将整个文件夹复制下来:
[root@hadoop03 ~]# docker cp emqx:/opt/emqx ~
接下来修改启动脚本,添加挂载目录参数:
docker stop emqx
docker rm emqx
docker run -d \
--name emqx \
--privileged=true \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
-v /root/emqx:/opt/emqx \
docker.io/emqx/emqx
查看容器是否启动成功:
[root@hadoop03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d426f05dc85 docker.io/emqx/emqx "/usr/bin/docker-e..." 3 seconds ago Up 2 seconds 4370/tcp, 0.0.0.0:1883->1883/tcp, 0.0.0.0:8081->8081/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, 5369/tcp, 0.0.0.0:8883->8883/tcp, 0.0.0.0:18083->18083/tcp, 11883/tcp emqx
可以看到,已经启动成功,接下来在浏览器输入http://你电脑IP:18083看看能否进入管理界面。
初始账号/密码为:admin/public
登入后
测试
接下来我们需要下载一个MQTT客户端来继续测试,我使用的是MQTTX,这是下载地址:https://mqttx.app/zh/downloads
管理界面提供了测试功能,我们接下来测试下MQTT的执行情况:
先创建主题
接下来在MQTTX测试:
可以看到,消息的发布和消费正常。
结尾
后面我会使用JAVA和Python来进行MQTT连接。