CentOS 7上安装和保护 MQTT 的 mosquito

引言

Mqtt 是一种机对机的消息传递协议,旨在为物联网设备提供轻量级的发布/订阅通信。 它通常用于车辆的地理跟踪车队,家庭自动化,环境传感器网络,和公用事业规模的数据收集。

Mosquito 是一个流行的 MQTT 服务器(或者用 MQTT 的说法是代理) ,它有很好的社区支持,并且易于安装和配置。

在本教程中,我们将安装 mosquito,从 Let’s Encrypt 检索 SSL 证书,并将代理设置为使用 SSL 来保护受密码保护的 MQTT 通信。

先决条件

在开始本教程之前,你需要:

设置了一个 CentOS 7服务器,该服务器具有一个非 root、支持 sudo 的用户和一个基本的防火墙。 新 CentOS 7服务器检查列表中包含了所有这些(以及更多)。
一个域名指向你的服务器,就像如何用 DigitalOcean 设置主机名一样。 本教程将在整个过程中使用 mqtt.example.com。
还可以选择使用纳米文本编辑器。 本教程将使用 nano 贯穿始终,你可以在任何时候用 sudo yum-y 安装 nano 安装它,或者替换你喜欢的文本编辑器。

第一步ー安装蚊子

缺省情况下 CentOS 7没有一个需要打包的蚊子。 为了安装它,我们将首先安装一个额外的 Linux 软件资源库,称为企业 Linux 的额外软件包,或者称为 EPEL。 这个存储库充满了可以很好地安装在 CentOS、 Red Hat 和其他面向企业的 Linux 发行版上的附加软件。

使用非 root 用户登录并使用 yum 包管理器安装 epel-release 包。

sudo yum -y install epel-release

这将向我们的系统添加 EPEL 存储库信息。 Y 选项会自动对整个过程中的几个提示回答 yes。 现在我们可以安装蚊子包。

sudo yum -y install mosquitto

这个包有一个简单的默认配置,所以让我们运行它来测试我们的安装。

sudo systemctl start mosquitto

我们还需要启用该服务,以确保在重新启动系统时启动:

sudo systemctl enable mosquitto

现在让我们测试默认配置。 Mosquito 包附带了一些命令行 MQTT 客户机。 我们将使用其中一个订阅我们代理的主题。

主题是发布邮件到并订阅的标签。 它们被安排成一个层次结构,例如,你可以有传感器 / 外部 / 温度和传感器 / 外部 / 湿度。 如何安排话题取决于你自己和你的需要。 在本教程中,我们将使用一个简单的测试主题来测试我们的配置更改。

第二次登录到您的服务器,这样您就有两个并排的终端。 在新的终端,使用蚊子子订阅测试主题:

mosquitto_sub -h localhost -t test

H 用于指定 MQTT 服务器的主机名,-t 是主题名。 你会看到没有输出后,按下 ENTER,因为蚊子子正在等待消息到达。 切换回你的另一个终端并发布一条消息:

mosquitto_pub -h localhost -t test -m "hello world"

蚊子到酒吧的选项是相同的蚊子到次,虽然这一次我们使用额外的-m 选项,以指定我们的信息。 点击回车,你应该会看到 hello world 在另一个终端弹出。 您已经发送了您的第一条 MQTT 消息!

在第二个终端输入 ctrl + c 以退出 mosquito 子,但保持到服务器的连接打开。 我们将在第5步中再次使用它进行另一个测试。

接下来,我们将使用 Certbot (新的 Let’s Encrypt 客户机)使用 SSL 保护我们的安装。

步骤2ー为 Let’s Encrypt 证书安装和运行 Certbot

Let’s Encrypt 是一个通过自动化 API 提供免费 SSL 证书的新服务。 官方的 Let’s Encrypt 客户机名为 Cert

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值