MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛应用于物联网(IoT)设备之间的数据传输。本文将介绍如何使用EMQX作为MQTT服务器,以及使用MQTTX作为MQTT客户端进行通信。
EMQX是一款高性能、开源的MQTT消息服务器,支持大规模的并发连接。以下步骤介绍如何在CentOS 8上安装和配置EMQX。
首先,从EMQX官方网站下载最新版本的EMQX,并进行安装:
wget https://www.emqx.io/downloads/broker/v4.3.11/emqx-4.3.11-centos8.x86_64.rpm
sudo rpm -ivh emqx-4.3.11-centos8.x86_64.rpm
安装完成后,启动EMQX服务:
sudo systemctl start emqx
sudo systemctl enable emqx
检查EMQX服务是否正常运行:
sudo systemctl status emqx
打开浏览器,访问 http://<your_server_ip>:18083
,使用默认的用户名和密码(admin/public)登录EMQX管理控制台。登录后可以查看服务器状态和配置。
在EMQX控制台,导航到“访问控制” -> “用户”,点击“新建用户”,创建一个新用户,设置用户名和密码,用于客户端连接。
确保EMQX的认证机制启用。在“访问控制” -> “认证”中,确认“内置数据库认证”启用。
在“访问控制” -> “ACL”中,可以根据需求创建ACL规则,控制客户端对Topic的发布和订阅权限。
MQTTX是一个跨平台的MQTT 5.0客户端工具,提供了图形化界面,方便用户进行MQTT通信测试。
从MQTTX官网(https://mqttx.app/)下载适用于操作系统的安装包并安装。
打开MQTTX,点击“新建连接”,按照以下步骤配置:
配置完成后,点击“连接”按钮,连接到EMQX服务器。
在订阅窗口中,可以看到刚刚发布的消息。
在Linux服务器上,可以使用 mosquitto-clients
进行MQTT消息的发布和订阅测试:
sudo dnf install mosquitto-clients -y
mosquitto_pub -h <your_server_ip> -t "test/topic" -m "Hello from mosquitto_pub" -u <username> -P <password>
mosquitto_sub -h <your_server_ip> -t "test/topic" -u <username> -P <password>
为了提高安全性,可以为EMQX配置SSL/TLS。以下是基本的配置步骤:
生成SSL证书和密钥:
openssl req -new -x509 -days 365 -nodes -out emqx.pem -keyout emqx.key
配置EMQX使用SSL/TLS:
编辑 /etc/emqx/emqx.conf
文件,添加以下配置:
listener.ssl.external.keyfile = /etc/emqx/certs/emqx.key
listener.ssl.external.certfile = /etc/emqx/certs/emqx.pem
listener.ssl.external.require_certificate = false
重启EMQX服务:
sudo systemctl restart emqx
步骤 | 详细说明 |
---|---|
安装EMQX | 下载并安装EMQX,启动并验证服务状态 |
配置EMQX | 创建用户、配置认证机制、创建ACL规则 |
安装和使用MQTTX | 下载并安装MQTTX,配置客户端并连接EMQX服务器 |
发布和订阅消息 | 在MQTTX中进行消息的发布和订阅测试 |
使用命令行客户端 | 使用 mosquitto-clients 进行MQTT消息的发布和订阅测试 |
配置SSL/TLS | 生成SSL证书和密钥,配置EMQX使用SSL/TLS,提高通信安全性 |
# MQTT教程:服务器使用EMQX和客户端使用MQTTX
## 安装EMQX
### 下载并安装EMQX
### 启动EMQX
### 验证安装
## 配置EMQX
### 创建用户
### 配置认证机制
### 创建ACL规则
## 安装和使用MQTTX
### 下载并安装MQTTX
### 配置MQTTX客户端
### 发布和订阅消息
#### 订阅消息
#### 发布消息
## 实例操作
### 使用命令行客户端进行测试
#### 发布消息
#### 订阅消息
### 配置SSL/TLS
#### 生成SSL证书和密钥
#### 配置EMQX使用SSL/TLS
#### 重启EMQX服务
#### 配置MQTTX使用SSL连接
通过本文的详细步骤,您可以在CentOS Stream 9平台上成功搭建EMQX作为MQTT服务器,并使用MQTTX客户端进行消息发布和订阅。本文涵盖了从安装、配置到实际操作的完整流程,并提供了安全配置的建议。希望本文能够帮助您快速上手MQTT通信,并应用于实际项目中。