MQTT服务器搭建
MQTT服务器搭建
私有部署----直接通过docker部署MQQTT服务器
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx
进入服务器控制台
http://自己服务器的ip:18083/
默认用户名和密码为admin/public
使用免费的公共Broker
Server: broker.emqx.io
TCP Port: 1883
WebSocket Port: 8083
SSL/TLS Port: 8883
Secure WebSocket Port: 8084
文件和目录
EMQX 安装完成后会创建一些目录用来存放运行文件和配置文件,存储数据以及记录日志。
不同安装方式得到的文件和目录位置有所不同,具体如下:
目录 | 描述 | 压缩包解压安装 | 二进制包安装 |
---|---|---|---|
etc |
配置文件目录 | ./etc |
/etc/emqx |
data |
数据文件 | ./data |
/var/lib/emqx |
log |
日志文件 | ./log |
/var/log/emqx |
releases |
启动相关的脚本 | ./releases |
/usr/lib/emqx/releases |
bin |
可执行文件目录 | ./bin |
/usr/lib/emqx/bin |
lib |
Erlang 代码 | ./lib |
/usr/lib/emqx/lib |
erts-* |
Erlang 虚拟机文件 | ./erts-* |
/usr/lib/emqx/erts-* |
plugins |
插件 | ./plugins |
/usr/lib/emqx/plugins |
提示
1.压缩包解压安装时,目录相对于软件所在目录;
2.Docker 容器使用压缩包解压安装的方式,软件安装于 /opt/emqx 目录中;
3.data、log、plugins 目录可以通过配置文件设置,建议将 data 目录挂载至高性能磁盘以获得更好的性能。但对于属于同一集群的节点, data 目录的配置应该相同。更多关于集群的介绍,见集群章节。
接下来我们将详细介绍下其中的部分目录,其中包含的文件和子文件夹。
目录 | 描述 | 权限 | 目录文件 |
---|---|---|---|
bin | 存放可执行文件 | 读 | emqx 、emqx.cmd :EMQX 的可执行文件,具体使用可以查看 基本命令。 emqx_ctl 、emqx_ctl.cmd :EMQX 管理命令的可执行文件,具体使用可以查看 管理命令 CLI。 |
etc | 存放配置文件 | 读 | emqx.conf :EMQX 的主配置文件,默认包含常用的配置项。 emqx-example-en.conf :EMQX 示例配置文件,包含所有可选的配置项。 acl.conf :默认 ACL 规则。 vm.args :Erlang 虚拟机的运行参数。 certs/ :X.509 的密钥和证书文件。这些文件被用于 EMQX 的 SSL/TLS 监听器;当要与和外部系统集成时,也可用于建立 SSL/TLS 连接。 |
data | 存放 EMQX 的运行数据 | 写 | authz :Dashboard 或 REST API 上传的 基于文件进行授权 规则内容。 certs :Dashboard 或 REST API 上传的证书。 configs :启动时生成的配置文件,或者从 Dashboard/REST API/CLI 进行功能设置时覆盖的配置文件。 mnesia :内置数据库目录,用于存储自身运行数据,例如告警记录、客户端认证与权限数据、Dashboard 用户信息等数据,一旦删除该目录,所有业务数据将丢失。 — 可包含以节点命名的子目录,如 emqx@127.0.0.1 ;如节点被重新命名,应手动将旧的目录删除或移走。 — 可通过 emqx_ctl mnesia 命令查询 EMQX 中 Mnesia 数据库的系统信息,具体请查看 管理命令 CLI。 patches :用于存储热补丁 .beam 文件,用于补丁修复。 trace : 在线日志追踪文件目录。 在生产环境中,建议定期备份该文件夹下除 trace 之外的所有目录。 |
log | 日志文件 | 读 | emqx.log.* :EMQX 运行时产生的日志文件,具体请查看 日志与追踪。 erlang.log.* :当以 emqx start 方式后台启动 EMQX 时,控制台日志的副本文件。 |
提示
EMQX 的配置项存储在 etc 和 data/configs 目录下,二者的主要区别是 etc 目录存储只读的配置文件,用户通过 Dashboard 和 REST API 提交的配置将被保存到 data/configs 目录下,并支持在运行时进行热更新。
etc/emqx.conf
data/configs/cluster.hocon
EMQX 读取这些配置并将其合并转化为 Erlang 原生配置文件格式,以便在运行时应用这些配置。