::: hljs-center
:::
简介
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 开源版
Docker安装
官方方式
- 获取 Docker 镜像
docker pull emqx/emqx:5.0.18
- 启动 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
:::
其他
- 服务器端口的开放
- 如果安装控制面板
宝塔
安全防火墙中也要开通端口 - 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";
}
}