【MQTT】| 搭建——在云服务器上搭建MQTT服务器

news2024/11/19 23:30:23

系列文章目录

【MQTT】| 搭建——在云服务器上搭建MQTT服务


失败了也挺可爱,成功了就超帅。

文章目录

  • 前言
  • 1. EMQX简介
  • 2. EMQX部署
  • 3. EMQX一些操作指令
    • 3.1 启动EMQX
    • 3.2 停止EMQX
    • 3.3 检查EMQX运行状态
    • 3.4 卸载EMQX
  • 4. EMQX设置
    • 4.1 进入EMQX控制面板
  • 5. EMQX测试
    • 5.1 使用 MQTT.fx 发布/订阅
    • 5.2 使用 WebSocket 发布/订阅

前言

平时我们在做MQTT相关东西时都是使用 第三方MQTT服务器(如阿里云、OneNet等) 。当然你想用自己的 那么我们也可以自己在服务器上部署MQTT。
开源的 MQTT服务器有很多 常用的就是 EMQX(MQTT服务器)
本文主要介绍 EMQX的部署
本文环境:服务器系统 Centos 7.8

1. EMQX简介

EMQX 是一款大规模可弹性伸缩的云原生分布式物联网MQTT消息服务器。 作为全球最具扩展性的MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,帮助您快速构建关键业务的物联网平台与应用。
一个开源免费的MQTT服务器。

2. EMQX部署

【官网下载地址】
下载过程中需要知道我们的服务器系统以及CPU架构
1、看查自己服务器系统版本可以通过 云服务器控制台或者 命令 cat /etc/redhat-release
2、看查服务器CPU信息 通过命令 lscpu
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
按命令执行即可完成部署

3. EMQX一些操作指令

3.1 启动EMQX

 三种启动方式

  • 直接启动 emqx start
  • systemctrl启动 sudo systemctl start emqx
  • service启动 sudo service emqx start
 emqx start
 sudo systemctl start emqx
 sudo service emqx start

3.2 停止EMQX

emqx stop

3.3 检查EMQX运行状态

emqx_ctl status

3.4 卸载EMQX

sudo apt remove --purge emqx

4. EMQX设置

4.1 进入EMQX控制面板

进入EMQX控制面板 控制面板的访问地址 http://服务器地址:18083
默认用户名 admin 密码 public

服务器需要开放18083端口才可以访问emqx面板
后面我们在使用mqtt服务时 一般用到1883/8083端口也需要开放下
常用端口说明
1883 MQTT TCP 协议端口
8883 MQTT/TCP SSL 端口
8083 MQTT/WebSocket 端口
8084 MQTT/WebSocket with SSL 端口
8080 MQTT执行引擎HTTP API 端口
18083 EMQX Dashboard 管理控制台端口
1、在服务器控制台 里 防火墙添加开放端口
在这里插入图片描述

2、执行开放18083/1883端口命令

//开放18083端口
firewall-cmd --zone=public --add-port=18083/tcp --permanent
//开放1883端口
firewall-cmd --zone=public --add-port=1883/tcp --permanent
//开放8083端口
firewall-cmd --zone=public --add-port=8083/tcp --permanent
//重启防火墙
firewall-cmd --reload

登录默认用户后 会提示更改密码
在这里插入图片描述
进入面板后可以进行配置

5. EMQX测试

5.1 使用 MQTT.fx 发布/订阅

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 使用 WebSocket 发布/订阅

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

模型评估 (Model Assessment)

1.模型评估 (Model Assessment) 笔记来源于《白话机器学习的数学》 我们训练好模型后,要对知道这个模型到底好不好,定量描述这个模型好坏就是模型评估 把获取的全部训练数据分成两份:一份用于测试,一份用于训练。然后用前者来评估…

数据库实训报告3000字

数据库实训报告1 一、实习目的 认识实习是本科教学计划中非常重要的实践性教学环节,其目的是使学生了解和掌握电力生产知识、印证、巩固和丰富已学过的计算机专业课程内容,培养学生理论联系实际,提高其在生产实践中调查研究、观察问题、分析问…

银行账户管理系统

1. 目的与要求 1、目的: (1)熟练掌握 C语言的基本知识和技能: (2)掌握面向对象程序设计的基本思想和方法;(3)能够利用所学的面向对象基本知识和技能,解决简单应用的程序设计 2、基本要求:(1)利用面向对象的方法以及 C的编程思想来完成系统的设计;(2)在设计的过程中…

抽象工厂模式(Abstract Factory)

定义 抽象工厂是一种创建型设计模式,它能创建一系列相关的对象,而无需指定其具体类。 前言 1. 问题 假设你正在开发一款家具商店模拟器。你的代码中包括一些类,用于表示: 一系列相关产品,例如椅子(Chai…

091基于深度学习的手写汉字数字识别含10多种模型

emo仓库和视频演示找091期: 银色子弹zg的个人空间-银色子弹zg个人主页-哔哩哔哩视频 效果展示图如下: 代码文件展示如下: 运行01数据集文本生成制作.py可以读取图片路径保存再txt文本中, 运行02train.py可以对txt文本中的图片路…

同程数科基于 Apache Doris 构建统一实时数仓,查询提速数十倍!

本文导读: 同程数科是同程集团旗下的旅游产业金融科技服务平台,为上下游企业和个人消费者提供数字金融科技服务。近年来,随着同程数科业务的不断拓展和用户量的增加,高效可靠的一站式数据中心建设已成为必不可少的需求。为帮助业…

团体程序设计天梯赛-练习集L2篇④

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

WPF 零基础入门笔记(1):WPF静态页面,布局+样式+触发器

文章目录 官方文档往期回顾零基础笔记项目实战(已完结) WPF项目创建为什么选net core版本 WPF 静态页面WPF 页面布局WPF样式Style样式行内样式行外样式如果是简单样式,可以这么写如果是复杂样式 WPF样式继承WPF触发器单条件触发器多条件触发 …

LLDP(链路层发现协议)详解及C/C++代码实现

LLDP(链路层发现协议)是一种IEEE标准协议(IEEE 802.1AB),它定义了封装在以太网帧中的消息,目的是通过默认情况下每30秒从每个端口定期重传一次,为设备提供一种向LAN(局域网&#xff…

20个Java编程技巧

1. 把字符串常量放在前面 通过把字符串常量放在比较函数equals()比较项的左侧来防止偶然的 NullPointerException 从来都不是一个坏主意,就像这样: 这是毫无疑问的,把一种表达式转换成另一种更好的表达式,并不会失去什么。只要我…

mysql锁机制及MVCC底层原理

一、锁介绍 按性能可分为乐观锁(适用于读多写少的情况下,如果是写多,导致过多cpu空转,影响性能)和悲观锁(适用于写多的情况)按数据库操作粒度可分为表锁、页锁、行锁按数据库操作类型可分为读锁…

UE4/5动画系列(1.模板制作)

目录 动画模板制作 同步模板组制作 有模板做什么都方便,所以这里我们做一个动画蓝图的模板(动物专用) 动画模板制作 第一步创建一个动画蓝图的模板 然后找到第三人称的模板,将其模板的蓝图改名: 在动画蓝图的模板里…

团体程序设计天梯赛-练习集L2篇②

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

首个跨云元数据KV存储Xline正式进入CNCF沙箱

2023年6月13日,云原生计算基金会(CNCF)宣布Xline正式被纳入CNCF沙箱(Sandbox)项目。Xline是由达坦科技(DatenLord)于2022年年底推出的开源项目,是一个用Rust语言写就的,用于元数据管…

hello算法笔记之图

一、图的基础知识 图是一种非线性数据结构,由「顶点 Vertex」和「边 Edge」组成。 1.图的类型: 根据边是否具有方向可以分为有向图,无向图 根据所有顶点是否连通可以分为连通图(对于连通图,从某个顶点出发&#xf…

gdb系列-入门篇-day01

gdb基础命令 一个程序要被调试&#xff0c;编译的时候要加上-g选项&#xff0c;例如gcc -g … 先准备一个调试的小代码 #include <stdio.h>int hello() {printf("hello\n");return 0; }int main() {int a[5] {1,2,3,4,5};hello();for(int i0; i<5; i){pri…

springboot使用@Valid 和 @Validated 注解校验详解以及编写一个自定义全局异常类

package com.test.springvalid.config;import lombok.Data; import java.util.HashMap; import java.util.Map;/*** 通用返回结果&#xff0c;服务端响应的数据最终都会封装成此对象* param <T>*/ Data public class R<T> {private Integer code; //编码&#xff1…

Mybatis源码分析_Mapper接口是如何实例化的 (2)

我们在使用Springmybatis的时候&#xff0c;经常都是直接写一个接口和一个对应的 ***Mapper.xml文件&#xff0c;然后业务代码就可以直接注入这个接口了。它是如何做到的呢&#xff1f; 接口&#xff1a; xml 想搞清楚这个问题&#xff0c;那还是要从Mybatis底层源码进行分析的…

智能小车使用IIC屏幕做动作显示界面

一、简介 使用0.96寸IIC屏幕作为遥控动作的显示界面。 外设引脚 stm32f103c8t6单片机IIC引脚有两组 使用I2C1&#xff0c;对应的时钟与数据线分别为PB6、PB7。 IIC屏幕指令 // OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel // OLED_WR_Byte(0x00,OLED_CMD);//---se…

07- c语言指针 (C语言)

一 指针的引入 1、一般把内存中的一个字节称为一个内存单元。 2、为了正确地访问这些内存单元&#xff0c;必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址&#xff0c;通常也把这个地址称为指针。 3、如果在程序中定义…