Skip to content

::: hljs-center

1.png

:::

简介

MQTT属于是物联网的通信协议,在MQTT协议中有两大角色:客户端(发布者/订阅者),服务端(Mqtt broker);针对客户端和服务端需要有遵循该协议的的具体实现,EMQ/EMQ X就是MQTT Broker的一种实现。

EMQ官网:EMQX

EMQX是什么?

EMQ X 基于 Erlang/OTP 平台开发的 MQTT 消息服务器,是开源社区中最流行的 MQTT 消息服务器。EMQ X 是开源百万级分布式 MQTT 消息服务器(MQTT Messaging Broker),用于支持各种接入标准 MQTT 协议的设备,实现从设备端到服务器端的消息传递,以及从服务器端到设备端的设备控制消息转发。从而实现物联 网设备的数据采集,和对设备的操作和控制。

安装

EMQX 开源版 2.png

Docker安装

官方方式

  1. 获取 Docker 镜像 docker pull emqx/emqx:5.0.18
  2. 启动 Docker 容器 docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.18

docker-compose.yml方式

version: '3'
services:
emqx:
    image: "emqx/emqx:5.0.18"
    container_name: "emqx"
    environment:
      - EMQX_LOADED_PLUGINS="emqx_management,emqx_auth_http,emqx_dashboard"
      - EMQX_DASHBOARD__DEFAULT_USER__LOGIN=admin
      - EMQX_DASHBOARD__DEFAULT_USER__PASSWORD=admin@123
      - EMQX_NODE__MAX_PORTS=65535
      - EMQX_MQTT__MAX_PACKET_SIZE=16MB
    ports:
     - 1883:1883
     - 8083:8083
     - 8084:8084
     - 8883:8883
     - 18083:18083
    volumes:
     - /docker/emqx/log:/opt/emqx/log
    restart: always

启动

注意挂载文件夹的创建和读写授权

docker-compose up -d emqx

Dashboard

EMQ X Dashboard 是一个 Web 应用程序,你可以直接通过浏览器来访问它,无需安装任何其他软件。 当 EMQX 成功运行在你的本地计算机上且 EMQX Dashboard 被默认启用时,通过访问 http://localhost:18083 来查看Dashboard,默认用户名是 admin ,密码是 public 。

新版本安装启动后,访问 Dashboard 用 默认用户名是 admin ,密码是 public ,自动设置密码。

::: hljs-center

3.png

:::

其他

  1. 服务器端口的开放
  2. 如果安装控制面板宝塔 安全防火墙中也要开通端口
  3. wss 访问Nginx配置

upstream appApi{
      ip_hash;
      #weight权重,数字越大被使用的几率越高。
      server 172.0.0.1:8089 weight=1;
}

server
{
    listen 80;

    location / {
      proxy_pass http://appApi; 
      
    }
   
    #wss协议转发 小程序里面要访问的链接
    # 访问:wss://xxxx.com/wss

    location /mqtt {
        proxy_pass http://172.0.0.1:8083;#代理到上面的地址去,
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }

}

Released under the MIT License.