Linux环境(Ubuntu)上搭建MQTT服务器(EMQX )

目录

概述

1 认识EMQX

1.1 EMQX 简介

1.2 EMQX 版本类型

2 Ubuntu搭建EMQX 平台

2.1 下载和安装

2.1.1 下载

2.1.2 安装

2.2 查看运行端口

3 运行Dashboard 管理控制台

3.1 查看Ubuntu上的防火墙

3.2 运行Dashboard 管理控制台


概述

本文主要介绍EMQX 的一些内容,终端介绍如何在Ubuntu上安装EMQX,并可以在第三方电脑上访问该服务器。本文通过实际操作方式,详细记录每个步骤应该注意的要点。

1 认识EMQX

1.1 EMQX 简介

EMQX 是一款开源的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,同时保证毫秒级的低时延。

EMQX 支持多种协议,包括 MQTT (3.1、3.1.1 和 5.0)、HTTP、QUIC 和 WebSocket 等,保证各种网络环境和硬件设备的可访问性。EMQX 还提供了全面的 SSL/TLS 功能支持,比如双向认证以及多种身份验证机制,为物联网设备和应用程序提供可靠和高效的通信基础设施。

1.2 EMQX 版本类型

EMQX 有 4 种部署模式,包括两种云服务模式(EMQX Cloud Serverless 和 EMQX Cloud 专有版)和两种自托管模式(EMQX 开源版 和 EMQX 企业版)。以下表格列出了这些部署模式的对比,以帮助您根据业务需求进行选择。想进一步了解具体的功能对比,参考功能对比。

对于非企业级应用,使用EMQX开源版即可,本文也是以该版本作为Demo,介绍其搭建和使用方法。

2 Ubuntu搭建EMQX 平台

2.1 下载和安装

2.1.1 下载

下载地址:

https://www.emqx.io/zh/downloads

打开网站,选择安装环境:

2.1.2 安装

使用如下三个步骤在Ubuntu上安装EMQX:

Step 1: 从软件链接源下载软件包,并装载安装环境

curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash

下载完成后,可以看见如下log:

Step-2: 安装软件

sudo apt-get install emqx

Step-3: 运行软件

执行如下代码,如果没有任何信息打印出来,说明EMAX已经正常启动了

sudo systemctl start emqx

2.2 查看运行端口

和EMQX相关的端口有如下这些:

端口号介绍
1883MQTT 协议端口
8883MQTT/SSL 端口
8083MQTT/WebSocket 端口
8080HTTP API 端口
18083Dashboard 管理控制台端口

查看EMQX的运行端口:

netstat -ap | grep 18083

查看MQTT 协议端口:

netstat -ap | grep 1883

3 运行Dashboard 管理控制台

要在第三方终端上运行Dashboard 管理控制台,必须保证18083端口运行被访问,那么怎么做呢?检查该端口是否被允许外网访问。

3.1 查看Ubuntu上的防火墙

首先确保ufw 已经安装在当前的Ubuntu系统中,如果没有安装,使用如下命令:

sudo apt update
sudo apt install ufw

一种最简单的方式就是关闭防火墙,如果允许外网访问,不建议这样做:

sudo ufw disable

3.2 运行Dashboard 管理控制台

step-1: 查看当前Ubuntu主机的ip,使用命令:

ifconfig 

执行命令后,终端会打印当前主机所有网卡相关的IP信息,找到主机的实际ip,然后在第三方电脑主机上登录

step-2: 登录服务器

打开浏览器,输入相应IP和端口号,就能打开网页了。举个例子,以笔者本人测试主机为例

192.168.1.11:18083


如果安装成功,可以看见如下页面,说明EMQX可以正常工作了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析C++树形关联式容器:map、set及其衍生容器的使用与原理

文章目录 一、引言二、关联式容器的中的 paira.pair 的创建及使用b.pair 间的比较 三、 map 与 set 详解1. map 的基本操作2. set 的基本操作3.关联式容器的迭代器 四、 multimap 与 multiset 的特性五、关联式容器的使用技巧与注意事项1. 键值类型的选择与设计2. 自定义比较函…

SVN修改已提交版本的注释

目录 一、需求分析 二、问题分析 三、解决办法 一、需求分析 ​开发过程中,在SVN提交文件后,发现注释写的不完整或不够明确,想再修改之前的注释文字​。 使用环境: SVN服务器操作系统:Ubuntu 20.04.6 LTS SVN版本&…

vr虚拟现实游戏世界介绍|数字文化展览|VR元宇宙文旅

虚拟现实(VR)游戏世界是一种通过虚拟现实技术创建的沉浸式游戏体验,玩家可以穿上VR头显,仿佛置身于游戏中的虚拟世界中。这种技术让玩家能够全方位、身临其境地体验游戏,与游戏中的环境、角色和物体互动。 在虚拟现实游…

Android14 - AMS之Activity启动过程(3)

Android14 - AMS之Activity启动过程(1)-CSDN博客 Android14 - AMS之Activity启动过程(2)-CSDN博客 上篇中我们梳理完ActivityStarter的startActivityInner,本篇从这里开始: platform/frameworks/base/servi…

VC6环境开发汇编程序和汇编语言调用C库

新建一个Win32控制台类型的空项目; 新建一个源文件,输入文件名时输入后缀.asm;.asm后缀的文件如果不会出现在Source Files文件夹下,可将其拖放到Source Files文件夹下; 输入如下代码;调用C的printf函数输出…

UE5.1 iClone8 正确导入角色骨骼与动作

使用iClone8插件Auto Setup 附录下载链接 里面有两个文件夹,使用Auto Setup C:\Program Files\Reallusion\Shared Plugins 在UE内新建Plugins,把插件复制进去 在工具栏出现这三个人物的图标就安装成功了 iClone选择角色,导入动作 选择导出FBX UE内直接导入 会出现是否启动插件…

Vue 计算属性和监视属性

Vue 计算属性和监视属性 computed computed 计算属性 规则: 用已有的属性计算不存在的属性默认调用一次get()只有值不发生改变的时候才可以使用简写(函数);值发生改变 使用对象式写法,才可以配置set()方法底层原理使…

计算机视觉之三维重建(2)---摄像机标定

文章目录 一、回顾线代1.1 线性方程组的解1.2 齐次线性方程组的解 二、透镜摄像机的标定2.1 标定过程2.2 提取摄像机参数2.3 参数总结 三、径向畸变的摄像机标定3.1 建模3.2 求解 四、变换4.1 2D平面上的欧式变换4.2 2D平面上的相似变换和仿射变换4.3 2D平面上的透射变换4.4 3D…

Git Bash命令初始化本地仓库,提交到远程仓库

git init:初始化空仓库 // 初始化一个空仓库或者重新初始化一个存在的仓库 git init git remote // 为当前本地仓库添加一个远程仓库地址 git remote add origin https://gitee.com/xxx/demo.git git pull // 从设置好链接的远程仓库拉去已经存在的数据,…

微信小程序调试、断点调试

1、wxml 查看对应的页面组件 2、console面板可以用来打印信息 3、sources 用来断点调试 4、network面板用来调试接口 5、storage面板 可以查看每个key对应的value内容,这些数据在用户使用小程序时被持久化保存在本地。

Outlook邮件导入Notes竟然有这么多办法

大家好,才是真的好。 以前我们讲过,如何将微软的Outlook里的邮件导入到Notes邮箱中。今天我们来系统地跟大家再回顾下几种方式。 第一种方式就是Notes客户端自带一个迁移工具。名字叫做Exchange迁移,在Notes客户机安装时,可以选…

Flink:使用 Faker 和 DataGen 生成测试数据

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

HarmonyOS定时器与定时任务

HarmonyOS 的 ArkTS 说白了 就是 TS和JS混合 加了一些新特性的语言 定时任务 就还是用 js代码就OK了 我们代码这样写 Entry Component struct Twox {build() {Row() {Column(){Button("触发定时任务").onClick(()>{setTimeout(()> {console.log(执行)},2000…

如何将Excel两列数据转换为统计图、曲线图、折线图?如何自定义某一列作为Excel的统计图横纵坐标?

这样,横坐标就更换为指定选中的数据了 我们还可以修改统计图的样式 也可以修改统计图的类型

GAMES104-现代游戏引擎 1

主要学习重点还是面向就业,重点复习八股和算法 每天早上八点到九点用来学习这个课程 持续更新中... 第一节 游戏引擎导论 第二节 引擎架构分层 引擎是分层架构的 编辑器功能层资源层核心层平台层 越底层的代码越稳定越坚固,越上层的代码越灵活越开…

蓝桥杯练习03个人博客

个人博客 介绍 很多人都有自己的博客,在博客上面用自己的方式去书写文章,用来记录生活,分享技术等。下面是蓝桥云课的博客,但是上面还缺少一些样式,需要大家去完善。 准备 开始答题前,需要先打开本题的…

【重温设计模式】策略模式及其Java示例

策略模式的基本概念 策略模式,是一种常见的行为设计模式,主要用于处理程序中的一些相同行为,但具有不同实现方式的问题。在策略模式中,我们将每一种行为封装为一个个策略类,通过策略类的组合和切换,可以灵…

Qt QTableWidget 实现行选中及行悬浮高亮

表格整行的 selected、hover 高亮需求很常见,但使用 Qt 提供的开箱即用的方法根本无法实现这个需求(至少在当前的时间节点是不行的);想要实现这个效果必须要费一点点力气,我们尽量选择较为简单的方法。 话不多说&…

【运维】StarRocks数据迁移到新集群(针对于集群互通、不互通的情况)

文章目录 一. 迁移整体思路1. 对于新旧集群互通的情况2. 对于新旧集群不互通的情况二、迁移过程(两个集群互通的情况)1. 备份过程1.1. 通过mysqlclient与starrocks进行关联1.2. 创建仓库与minio建立联系1.3. 备份数据到minio2. 迁移过程2.1. 通过mysqlclient与starrocks进行关…

【C语言】—— 指针三 : 参透数组传参的本质

【C语言】—— 指针三 : 参透数组传参的本质 一、数组名的理解二、使用指针访问数组2.1、指针访问数组2.2、[ ] 的深入理解2.3、数组与指针的区别 三、一维数组的传参本质四、数组指针变量4.1、数组指针变量是什么4.2、 数组指针的初始化 五、二维数组传参的本质 一…