MQTT代理商

MQTT代理是一个服务器,它接收所有客户端消息,然后将消息路由到适当的目标客户端。MQTT客户端是运行MQTT库并通过网络连接到MQTT代理的任何设备(从微控制器到功能齐全的服务器)。

LEAPS Mosquitto是一个开源MQTT代理,是docker镜像 eclipse Mosquitto:1.5.11的副本 其中集成的自定义 “mosquitto.conf” 文件位于 “/mosquito/config/mosquito.conf” 中。如需更多信息,请参阅 日食蚊子”


安装

系统要求

注解

Docker的系统要求因操作系统而异。

  • 对于Linux,您需要一个64位架构、兼容的内核版本和特定的内核功能。

  • 在Windows上,在启用虚拟化的Windows 10上使用Docker Desktop

  • 在macOS上,将Docker Desktop与macOS 10.13或更高版本一起使用。在硬件方面,建议至少有2GB的RAM,以及足够的CPU和磁盘空间。

请参考 Docker 官方文件,了解最新细节


说明

  1. 在电脑上安装 Docker

在 Linux 上安装 Docker Desktop

此外,您还可以参考以下命令进行安装:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo usermod -aG docker $USER
  1. 在PC上打开命令提示符或终端窗口,然后安装LEAPS Mosquitto Docker软件包,运行:

docker run -d -p 1883:1883/tcp -p 15675:15675 --name some_name leapslabs/leaps_mosquitto:latest mosquitto ---cfg /mosquitto/config/mosquitto.conf

其中 some_name 是您要为容器分配的名称,tag 是指定您想要的 leaps-mosquitto 版本的标签。

  • 推荐的运行选项

    • --user $(id -u):$(id -g) 在特定用户和组下运行实例.

    • --restart unless-stopped 在服务器崩溃时自动重启实例.

  1. LEAPS Mosquitto安装过程将开始。

例如,在 Ubuntu (Linux) 上:

docker run -d -p 1883:1883/tcp -p 15675:15675 --name leaps_mosquitto leapslabs/leaps_mosquitto:latest mosquitto ---cfg /mosquitto/config/mosquitto.conf

Unable to find image 'leapslabs/leaps_mosquitto:latest' locally
latest: Pulling from leapslabs/leaps_mosquitto
f7dab3ab2d6e: Already exists
2a0a6c9fa787: Already exists
a211eff771d6: Already exists
d362e2a9c11b: Already exists
Digest: sha256:a97752d6e2d81e2701c7cd5f807eb4256322983f8aa3135da8235b647e6a9b4e
Status: Downloaded newer image for leapslabs/leaps_mosquitto:latest
1f526e755ad9a356c439003b93c200802628ae9bc046827e7327d0334804b565
  1. 确认安装成功,运行:

例如,在 Ubuntu (Linux) 上:

docker ps

CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS                          PORTS     NAMES
b1145b72db35   leapslabs/leaps_mosquitto:latest  "sh -c 'cd /app &&  …"   37 seconds ago   11 seconds ago                            leaps_mosquitto

因此,您已在PC上成功安装并启动了LEAPS Mosquitto。


开始

LEAPS Mosquitto Docker

  • 启动LEAPS Mosquitto,运行: docker Start LEAPS_Mosquitto

  • 停止LEAPS Mosquitto,运行: docker Stop LEAPS_Mosquitto

  • 重启LEAPS Mosquitto,运行: docker Restart LEAPS_Mosquitto

  • 删除LEAPS Mosquitto,运行 docker rm--强制LEAPS_Mosquitto


定制选项

强制性选项

  • 端口1883-默认侦听器端口

  • 监听器1884启用1884的监听器

  • 听众15675启用听众15675

推荐选项

  • 用户蚊子-取消root权限

  • max_inflight_messages 200-增加每个客户端的内斗QoS消息,因为一次可以发送的QoS1很少。

  • max_queued_messages 1000-将每个客户端队列中保存的QoS 1和2消息的最大数量增加到当前正在运行的数量之上。

  • allow_zero_length_clientid true-允许客户端ID为零长度

  • persistent_client_expiration 14d-针对设计不佳的客户端提供自动保护

故障排除

  • 使用以下命令 docker restart leaps_mosquitto 重新启动leaps mosquitto。

  • 检查LEAPS Mosquitto运行时的日志,打开docker桌面,选择LEAPS_Mosquitto容器。