通过docker安装emqx(mqtt)

创建所需目录

mkdir -p /opt/emqx/etc /opt/emqx/lib /opt/emqx/data /opt/emqx/log

预先拷贝文件

1、安装并运行emqx:latest

docker run -dit --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:latest

2、拷贝文件

docker cp emqx:/opt/emqx/etc /opt/emqx/

3、关闭并移除emqx

docker stop emqx
docker rm emqx

运行emqx并挂载文件

docker run -d \
--name emqx \
--restart=always \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
-v /opt/emqx/:/opt/emqx/etc \
emqx/emqx:latest

默认账密为:admin/public

wss配置

1、在阿里云中下载ssl中其他证书,放到服务器的/opt/emqx/etc/certs/ssl/目录中
2、修改/opt/emqx/etc/emqx.conf

listeners.wss.default {
  bind = "0.0.0.0:8084"
  max_connections = 512000
  websocket.mqtt_path = "/mqtt"
  ssl_options {
    keyfile = "etc/certs/ssl/域名.key"
    certfile = "etc/certs/ssl/域名.pem"
    cacertfile = "etc/certs/cacert.pem"
  }
}

重启emqx使得配置生效

docker restart emqx