当前位置: 首页 > news >正文

MQTT服务器-安装篇(阿里云主机)

接上一篇《ESP32使用MQTT协议通讯(EMQX)-CSDN博客》,上文中使用的是免费的公共 MQTT 服务器 | EMQ,若要运行自己的业务,还是自己搭建一个MQTT服务器比较稳妥。如果你有一台阿里云ECS主机,可以参考本文搭建自己的MQTT服务器。

在阿里云ECS的中安装MQTT服务器,一个流行的开源选择是Mosquitto。以下是安装和配置Mosquitto MQTT服务器的步骤:

步骤 1: 更新系统

在开始之前,确保你的系统是最新的:

sudo yum update

步骤 2: 安装EPEL仓库

Mosquitto在标准的CentOS仓库中可能没有,所以你需要安装EPEL(Extra Packages for Enterprise Linux)仓库:

sudo yum install epel-release

步骤 3: 安装Mosquitto

接下来,使用yum来安装Mosquitto:

sudo yum install mosquitto mosquitto-clients

安装完成后,启动Mosquitto服务。

sudo systemctl start mosquitto

为了确保Mosquitto在系统重启后自动启动,可以将其设置为系统服务,随系统启动。

sudo systemctl enable mosquitto

步骤 4: 配置Mosquitto

Mosquitto的配置文件通常位于/etc/mosquitto/mosquitto.conf。你可以使用文本编辑器打开它,例如使用vinano

1. 关闭匿名登录

为了安全起见,可以关闭Mosquitto的匿名登录功能,并设置用户名和密码进行认证。

(1)打开/etc/mosquitto/mosquitto.conf文件。

(2)在配置文件中找到allow_anonymous行,并将其设置为false

(3)保存并关闭配置文件。

2. 设置用户名和密码

如果你想添加用户认证,可以使用mosquitto_passwd命令来添加用户:

sudo mosquitto_passwd -c /etc/mosquitto/passwdfile your_username

输入两次密码后,并重启服务:

sudo systemctl restart mosquitto

步骤 5:开通端口供外网连接

开启防火墙允许MQTT流量,MQTT模式使用1883端口。

sudo firewall-cmd --permanent --add-port=1883/tcp
sudo firewall-cmd --reload

另外还需在阿里云后台设置安全组策略,允许1883端口连接。

步骤 6:测试连接

使用MQTTX等客户端连接工具,测试连接即可。

完成以上步骤后,你就应该在阿里云ECS的中成功安装并配置了MQTT服务器。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用 Arduino 串行绘图仪可视化实时数据
  • 在Fragment中显示高德地图
  • 多叉树的深度优先遍历(以电话号码的字母组合为例)
  • MySQL——数据库的操作,数据类型,表的操作
  • 卷积神经网络 - 高效的卷积算法篇
  • Ubuntu Linux安装Go语言
  • Bytebase 2.22.1 - SQL 编辑器展示更丰富的 Schema 信息
  • CVE-2017-15715~Apache解析漏洞【春秋云境靶场渗透】
  • d1.Docker 介绍和基础操作
  • Springboot集成Proguard生成混淆jar包
  • 生成式AI及其对API和软件开发的影响
  • 大数据面试SQL(五):查询最近一笔有效订单
  • 基于树莓派4B设计的智能家居控制系统(阿里云IOT)(203)
  • 【Vue】Echarts渲染数据,残留脏数据问题处理
  • k8s笔记之应用创建
  • 【技术性】Search知识
  • 2017 年终总结 —— 在路上
  • Javascript Math对象和Date对象常用方法详解
  • magento 货币换算
  • Making An Indicator With Pure CSS
  • Python连接Oracle
  • 机器学习学习笔记一
  • 记一次和乔布斯合作最难忘的经历
  • 使用API自动生成工具优化前端工作流
  • 使用Gradle第一次构建Java程序
  • 推荐一个React的管理后台框架
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 我的业余项目总结
  • 写给高年级小学生看的《Bash 指南》
  • 一个完整Java Web项目背后的密码
  • C# - 为值类型重定义相等性
  • 阿里云移动端播放器高级功能介绍
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #LLM入门|Prompt#3.3_存储_Memory
  • #VERDI# 关于如何查看FSM状态机的方法
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (003)SlickEdit Unity的补全
  • (55)MOS管专题--->(10)MOS管的封装
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (四)React组件、useState、组件样式
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) 物件導向與老子思想 (OO)
  • .Net - 类的介绍
  • .net core控制台应用程序初识
  • .NET delegate 委托 、 Event 事件
  • .NET 表达式计算:Expression Evaluator
  • .NET 设计一套高性能的弱事件机制
  • .NET 中 GetProcess 相关方法的性能
  • .net和php怎么连接,php和apache之间如何连接
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @RunWith注解作用
  • [ 第一章] JavaScript 简史
  • [001-03-007].第07节:Redis中的事务