EMQX安装与使用

news2024/12/23 1:17:30

EMQX文档:https://www.emqx.io/docs/zh/v5.0/

1.安装 https://www.emqx.io/zh/downloads
在这里插入图片描述
找到自己合适的平台和版本安装
①:后台启动

emqx start

启动成功后可以使用 emqx ping 命令检测节点运行状态,返回 pong 则表示正常运行:

emqx ping

systemctl 启动

sudo systemctl start emqx
sudo systemctl status emqx

ZIP 安装包启动
切换到 EMQX 解压目录,执行以下命令启动 EMQX:

./bin/emqx start

开发模式下可以使用 console 命令在控制台启动 EMQX,该模式可以实时查看 EMQX 启动和运行输出日志信息:

./bin/emqx console

默认监听: http://localhost:18083/
默认登录账号密码:admin public
default_username = “admin”
default_password = “public”
代码如下

 ## emqx配置
emqx:
  api:
    url: http://ip:端口/api/v4/clients/
    username: 用户名称
    password: 用户密码
	@Value("${emqx.api.url}")
	private String url;

	@Value("${emqx.api.username}")
	private String username;

	@Value("${emqx.api.password}")
	private String password;

	/**
	 *  查询网关在线离线状态
	 * @param clientId 客户端标识符
	 * @return 返回在线离线状态
	 */
	@Override
	public String loadEmqxOnlineStatus(String clientId) {

		try {
			String urlStr = url + clientId;
			URL url = new URL(urlStr);
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			conn.setRequestMethod("GET");
			conn.setDoInput(true);
			conn.setDoOutput(true);

			String authString = username + ":" + password;
			byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
			String authStringEnc = new String(authEncBytes);
			// 设置Authorization字段
			conn.setRequestProperty("Authorization", "Basic " + authStringEnc);

			conn.connect();

			int status = conn.getResponseCode();

			if (status == HttpStatus.OK.value()) {
				BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
				String str = "";
				StringBuffer sb = new StringBuffer();
				while ((str = reader.readLine()) != null) {
					sb.append(str);
				}
				// 取出里面的在线离线字段
				String string = sb.toString();
				JSONObject jsonObject = JSONObject.parseObject(string);
				String data = jsonObject.getString("data");
				JSONArray jsonArray = JSONArray.parseArray(data);
				if (jsonArray.size() == 0) {
					return null;
				}
				return jsonArray.getJSONObject(0).getString("connected");
			}
		} catch (IOException e) {
			throw DataHandleException.of(Result.failure(ResultCode.UNAUTHORIZED, "客户端未通过服务端认证,您使用了无效的身份验证凭据"));
		}
		return null;
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/72005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pmp 证书到底有什么用处?

PMP 证书最重要的两个用处:一个是岗位招聘要求,一个是项目招标要求。 一、PMP证书的应用 1、PMP 证书的敲门砖作用 前面说的,PMP 作为项目管理领域的一个权威公认证书,很多行业要求项目管理岗位人才都会加一条"具备PMP 等证…

Redis vs MongoDB

Redis vs MongoDB 通常情况下,应用系统的技术选型,对于如何选择非关系型数据库,是一个不小的挑战。这不仅考验架构师在技术上的广度和深度,同时也考究对业务细节了解和熟悉程度。只有将业务场景、业务特点、数据特征跟具体的技术…

数据挖掘与机器学习课程总结

2022.11月 文章目录一、引言1.1 数据中的知识发现包括哪几个步骤?(Knowledge Discovery from Data, KDD)1.2 数据挖掘应用二、学习的可行性2.1 Hoeffding 不等式(Hoeffding’s Inequality)2.2 用 Hoeffding 不等式说明学习的可行性三、数据和…

浅学Linux内核MMU

1 MMU基本知识 1.1 什么是MMU MMU是 MemoryManagementUnit 的缩写即,内存管理单元. 针对各种CPU, MMU是个可选的配件. MMU负责的是虚拟地址与物理地址的转换. 提供硬件机制的内存访问授权.(现代 CPU 的应用中,基本上都选择了使用 MMU&#…

【Paper】2021_具有输入饱和的多智能体系统非负连边比例一致性研究_范志鹏

范志鹏. 具有输入饱和的多智能体系统非负连边比例一致性研究[D].华中科技大学,2021.DOI:10.27157/d.cnki.ghzku.2021.001324. 文章目录3 基于状态反馈的线性离散正系统连边比例一致性控制3.1 引言3.2 基于状态反馈的离散时间连边比例一致性的问题描述3.3 无向网络离散时间连边比…

JavaScript中的localStorage

JavaScript中的localStorage 参考这篇文章一起学习:JavaScript中的session 案例池子: JS实现鼠标悬停变色 JavaScript中的排他算法实现按钮单选 JavaScript中的localStorage JavaScript中的sessionStorage JavaScript实现网页关灯效果 JavaScript实…

Codeforces Round #836 (Div. 2) D. Range = √Sum

翻译: 给你一个整数𝑛。找到一个由𝑛不同整数组成的序列𝑎1,𝑎2,…,𝑎𝑛,使得对于所有𝑖和 马克斯(𝑎1𝑎2,……

Qt-数据库开发-QTableView操作数据库(1)

Qt-数据库开发-QTableView操作数据库 文章目录Qt-数据库开发-QTableView操作数据库1、概述2、实现效果3、主要代码4、完整源代码更多精彩内容👉个人内容分类汇总 👈👉数据库开发 👈 1、概述 这是通过学习Qt官方Demo产生的一个示例…

【爬虫5年保更新专栏】异步协程典型案例,一篇掌握~

最近收到 C 友反馈,说 《听说过 python 协程没?听说过 asyncio 库没?都在这一篇博客了》 这篇博客的目标图片站,已经不能使用了,橡皮擦查阅之后,发现是对方网站已经不运营了,所以更新一下案例。…

SessionJSPCookie

今日内容 会话技术。会话技术包括两个: CookieSession JSP的入门学习:JSP也是一种服务器的动态资源,servlet也是一种服务器的动态资源。 会话技术 会话:一次会话中包含多次请求和响应。一次会话就像是人与人的一次见面聊天&…

Maya多边形物体批量材质传递工具v1.0发布及教程

一、插件介绍: 在大量场景制作时,当前期模型和材质没有同时完成,而用白模进行场景搭建后,能否后期,快速根据相同模型结构,快速识别物体并批量赋材质吗?答案是现在可以了。下面介绍的就是解决此…

使用SBT构建和发布基于SpringBoot的Scala应用

SBT 是 Scala 生态圈里的经典构建工具,虽然很多人觉得 SBT 很复杂,还戏称其为 SB Tool,但其全称确是 Simple Build Tool。 实际上,很多产品(包括像 SBT 这样的工具和技术产品)只有一个打动用户的特性就够了…

面经攻略:详谈Redis常见数据类型

👉本篇速览 早在最开始学Redis的时候,我们就学到了这九种数据类型:String、Hash、List、Set、Zset、BitMap、HyperLogLog、GEO、Stream,但其实在学的时候并不了解它的底层是怎么存储这些数据,而不同的数据类型又有哪些…

深兰科技|党政干部科技学习权威读本《元宇宙与社会治理新范式》

近日,由中共中央党校出版社出版,深兰科技创始人、深兰科技科学院创始院长陈海波撰写的《元宇宙与社会治理新范式》一书正式发售。 该书与陈海波主编的《与领导干部谈AI——人工智能推动第四次工业革命》、《与领导干部谈量子科技》一同入选了中共中央党校…

Web3中文|微软:黑客通过Telegram侵害加密公司

微软最近调查了一次攻击,在该攻击中,被追踪为 DEV-0139 的威胁参与者通过加入加密货币交易平台的Telegram群来寻找目标用户。 10月19日,威胁参与者冒充加密资产管理公司的代表邀请目标用户到另一个Telegram群,在那里威胁参与者要…

osgEarth示例分析——osgearth_eci

前言 osgearth_eci示例,展示了J2000的天体坐标系和ECEF地固系的转换,绘制坐标系,以及读取卫星参数绘制卫星的功能。绘制卫星轨迹,添加差值效果和未添加差值的效果。 关于卫星两行根数的数据文件下载路径:CelesTrak: …

0基础怎么转行软件测试?

前言 0基础转行软件测试难吗?怎么学才能找到工作?这应该是所有新人都会面临的问题,所以我结合自己的经历,做了一些总结和学习方法,希望能对大家有所帮助。 我按照薪资的不同大致划分成3个档位: 月薪5-9k&…

高压直流输电(HVDC)的最优潮流(OPF)(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

ZIP压缩包的自动设置密码可以这样解除

WinRAR设置了自动添加密码,每次压缩完ZIP文件后,都会自带打开密码,打开压缩包里的文件都需要输入密码。如果后续不需要每个ZIP文件都带有密码,要如何去除这个设置呢? 首先,打开WinRAR压缩软件,点…

晶品特装在科创板上市:总市值约为48亿元,前三季度收入下滑12%

12月8日,北京晶品特装科技股份有限公司(下称“晶品特装”,SH:688084)在上海证券交易所科创板上市。本次上市,晶品特装的发行价格为60.98元/股,发行数量为1900万股,募资总额约为11.59亿元&#x…