mqtt 客户端和服务端搭建及基本使用详解

简介:主要介绍mqtt客户端的测试工具的使用,及服务端的搭建步骤,技术选型等。客户端测试工具使用MQTTX。服务端使用emqx中间件进行部署及发布。以及emqx服务端如何进行配置。以及MQTTX如何与服务端进行建立连接和通信。

下载MQTTX客户端

下载地址:http//mqttx.app/
如下图:
在这里插入图片描述

服务端emqx搭建:linux环境下部署

说明:操作系统centos7

安装方式: rpm 安装

cpu架构:amd64

命令下载emqx 执行如下命令:
wget https://www.emqx.com/zh/downloads/broker/4.4.1/emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm

安装执行如下命令:
sudo yum install emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm

运行及启动执行如下命令:
sudo emqx start

查看启动状态执行如下命令:
emqx_ctl status

如果出现如下结果,则认为启动成功,如下命令列表

$ emqx start
emqx v4.0.0 is started successfully!
$ emqx_ctl status
Node ‘[email protected]’ is started emqx 4.0.0 is running

在这里插入图片描述
这种安装方式可能会报依赖错误如:

错误:Please make sure openssl-1.1.1 (libcrypto) and libncurses are installed.Also ensure it’s running on the correct platform,this EMQ X release is built for 23.2.7.2-emqx-3-x86_64-unknown-linux-gnu-64-centos7
解决办法:这是因为缺少依赖包:缺少 openssl1.1.1

安装并编译: openssl
cd /usr/local/src/
下载wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar xf openssl-1.1.1d.tar.gz
编译
cd openssl-1.1.1d
./config
make && make install
安装完成后 路径:/usr/local/bin

安装完成后即可正常启动emqx

注意的问题

客户端连接时一直连接不上原因是没有关掉防火墙,这种问题:主机windows能ping通无法访问虚拟机Linux中tomcat服务,这种问题一般都是由防火墙过滤了端口导致的。)

修改Linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一行

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

就可以了,其中 8080 是要开放的端口号,然后service iptables restart 重新启动linux的防火墙服务就可以了

emqx服务端支持多种协议:

1、ws :即websocket。

2、tcp协议

3、mqtt协议

服务端默认配置,可查看服务端配置文件。配置文件所在路径:
/etc/emqx/emqx.conf
查看配置文件
可以发现有3个默认端口号:8083 为websocket默认端口、18083为管理控制台端口(默认用户名密码:admin/public)1883为tcp端口。如下图所示
在这里插入图片描述
在这里插入图片描述
管理控制台登录界面:访问地址:ip:18083。如果访问不到一定要记得关掉防火墙或添加端口。
在这里插入图片描述
上述一切准备就绪后,开始使用客户端工具mqttx与服务端建立连接,mqttx既能发布消息也能订阅消息。如下图所示
在这里插入图片描述
发布与订阅

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/superzhang6666/article/details/123550386