MQTT服务器搭建

2023-09-20 18:13:08

本次搭建的MQTT服务器是emqx提供的服务器

1、下载

https://www.emqx.com/en/downloads/broker
从官网下载5.2.0版本emqx-5.2.0-windows-amd64.zip
下载完成直接安装

2、配置,修改端口号

mqtt默认端口号
在这里插入图片描述
常规的用法,我们一般使用和开放这两个端口:

1883,设备连接的端口
18083,后端API对接端口
因为开放,所以风险。
默认的端口号往往会引来很频繁的扫描攻击。

于是,我们要这么做:
1883端口改成8600端口(或者其他)
18083端口改成28083端口(或者其他)
如果是使用云服务器ECS,则别忘了在安全组中添加访问规则

3、1883端口修改

emqx-5.2.0-windows-amd64\etc\emqx.conf


listeners.tcp.default {
	
	bind = "0.0.0.0:8600"
	max_connections = 1024000
}

dashboard {
    listeners.http {
        bind = 28083
    }
	default_username = "admin" 
	default_password = "public"
}

在etc目录下修改白名单,打开etc目录,找到acl.conf文件。
将deny修改为allow

{allow, all, subscribe, ["$SYS/#", {eq, "#"}]}.

修改完成保存文件

4、启动mqtt服务器

启动命令窗口,进入mqtt的bin目录

C:\Users\dahua>
pushd D:\workspace\software\emqx-5.2.0-windows-amd64\bin
D:\workspace\software\emqx-5.2.0-windows-amd64\bin>

启动服务器

emqx start

在这里插入图片描述

浏览器登陆mqtt后台:
http://127.0.0.1:28083
输入用户名,密码
在这里插入图片描述
查看客户端连接数量
在这里插入图片描述

5、客户端连接mqtt服务器

安装MQTT客户端,使用了两种MQTT客户端,分别是mqttfx和MQTTX-Setup-1.9.6-x64.exe。
mqttfx下载地址在这里
https://download.csdn.net/download/u010584870/88358940
MQTTX-Setup-1.9.6可以从官网获取
https://www.emqx.com/zh/downloads-and-install?product=MQTTX&version=1.9.6&os=Windows&oslabel=Windows
安装省略
使用mqttfx客户端连接服务器
点击设置
在这里插入图片描述
在这里插入图片描述
单击连接
在这里插入图片描述
订阅一个主题(由于未设置acl白名单,这里订阅的主题可以随意填写)
在这里插入图片描述
订阅完成后,需要publish一条消息看本机能不能接收到。
在这里插入图片描述
在subscribe会收到publish的消息
在这里插入图片描述
使用MQTTX客服端连接服务器,与mqttfx客户端订阅相同的主题通信
在这里插入图片描述
单击connect连接服务器
单击“New subscribe”新建订阅

在这里插入图片描述
在这里插入图片描述
发布消息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考资料:https://blog.csdn.net/qq_19294353/article/details/123290346
参考资料:https://blog.51cto.com/u_16081772/6214939

更多推荐

MacOS 控制固态磁盘写入量,设置定时任务监控

M1芯片的内存交换策略非常激进,导致内存较小的机型固态硬盘写入量十分恐怖,网上很多人都有类似的遭遇。如何看待8G256GM1MacBookAir使用一个月硬盘写入22TB+?而固态硬盘是有擦除、写入寿命的,一般就按100次算,256G大概就是250TB。当然,并不是说超过这个数,硬盘就坏了,只是一般超过这个数,再坏,厂

9.2 【MySQL】独立表空间结构

9.2.1区(extent)的概念对于16KB的页来说,连续的64个页就是一个区,也就是说一个区默认占用1MB空间大小。不论是系统表空间还是独立表空间,都可以看成是由若干个区组成的,每256个区被划分成一组。画个图表示就是这样:其中extent0~extent255这256个区算是第一个组,extent256~exte

Qt 数据库的注册和登录功能

widget.h#ifndefWIDGET_H#defineWIDGET_H#include<QPushButton>#include<QWidget>#include<QDebug>#include<QString>#include<QMessageBox>#include<QFile>#include"client

Linux下的第一个小程序——进度条

目录​编辑一,进度条的第一个版本1.准备工作2.写Makefile文件3.开始构建进度条1.process.h文件2.process.c文件3.main.c文件二,进度条的第二个版本1.为什么还要写第二个版本?2.如何升级?3.升级代码1.搭建场景一,进度条的第一个版本1.准备工作在写进度条之前,我们得把前期的准备工作

01_网络编程_传统IO

网络编程1.什么是网络编程在网络通信协议下,不同计算机上运行的程序,进行的数据传输。如果想把一个计算的结果,或者是电脑上的文件通过网络传递给你的朋友,就需要用到网络编程。在实际生活中,网络通信无处不在**应用场景:**即时通信、网游对战、金融证券、国际贸易、邮件、等等不管是什么场景,都是计算机跟计算机之间通过网络进行数

【C++】C++ 语言对 C 语言的加强 ② ( 变量检测增强 - C++ 不允许重复定义变量 | struct 关键字增强 - struct 作用等同于 class )

文章目录一、变量检测增强-C++不允许重复定义变量二、struct关键字增强-struct作用等同于class一、变量检测增强-C++不允许重复定义变量在早期的C语言编译器版本中,可以重复定义多个同名的全局变量,编译器会将这些同名的全局变量链接到全局数据区的相同地址空间中;如:在一个头文件中,定义了变量inta;,在另

【C++】C 语言与 C++ 语言的关系 ( C 语言发展 | C 语言缺陷 | C 语言 + 面向对象 + 高级语言特性 | C++ 语言增加内容 | C 语言与 C++ 语言应用场景 )

文章目录一、C语言发展二、C语言缺陷三、C语言+面向对象+高级语言特性1、C语言衍生的高级语言2、C语言与C++语言关系3、C++语言增加内容4、C语言与C++语言应用场景一、C语言发展C语言被开发之前并没有经过缜密的设计,而是在使用过程中逐渐完善的;C语言发展经过如下阶段:初始阶段:1972年至1978年,C语言初步

Linux基本命令,基础知识

进到当前用户目录:cd~回到上级目录:cd..查看当前目录层级:pwd创建目录:mkdirmkdirruanjian4/linux/zqm41-p级联创建文件夹(同时创建多个文件夹需要加-p)查看详细信息:ls-l(即ll)查看所有详细信息:ls-al隐藏文件是以.开头的查看:ls-alrm-rf删除路径级联删除:rm

k8s集群中部署项目之流水线

微服务项目部署之流水线编写一、部署微服务项目环境说明1.1代码托管到gitee1.2镜像托管到dockerhub用户名:nextgomsb密码:abc***.com1.3流水线工具KubeSphere二、通过KubeSphere部署之拉取代码流水线编写2.1准备凭证2.2编辑流水线pipeline{agent{node

python[sys模块使用]:配置subprocessing实现后台调用python函数,并传递次数

一、sys模块的基本使用1、获取脚本执行时传递的所有参数:sys.argv[0]#表示程序自身sys.argv[1:]#表示的是在脚本运行py文件时,传递进来的所有参数2、sys.exit(n)退出程序,exit(0)是正常退出3、sys.version:获取python解释程序版本4、sys.platform:返回操

在家访问校园网内网,异地用校园网上知网

具体思路,使用tailscale连接校园网安装了代理服务的服务器(这里以centos7.6为服务端),windows10为客户端(家里的电脑),用tailscale连接两个设备,内网穿透。记住两个设备的ip,然后再用windows连centos的代理,我一般用ssr,ssr的服务端搭建发不出来,就不说了(我后期考虑在个

热文推荐