在CentOS服务器使用Mosquitto安装和部署MQTT

2024-08-19 10:20:05 浏览数 (4)

之前在Windows服务器上安装部署RabbitMQ3.8,今天又双叒叕换了软件,叫MQTT,首先先了解下软件,RabbitMQ : 是一个支持AMQP协议的消息中间件,用于在多个应用程序之间传递消息。它有助于分发任务,协调过程,实现异步通信,而MQTT : 是一种轻量级的发布/订阅消息协议,用于在网络连接的设备之间传递消息数据。它使用基于可移植的文本协议,可以节约带宽和电力,帮助物联网开发人员在受限网络中运行应用程序。

rabbitmq和mqtt区别

传输协议不同:RabbitMQ采用AMQP协议,而MQTT采用MQTT协议。

投递策略不同:RabbitMQ支持各种投递策略,包括可靠性投递、事务投递、穿透投递、发布订阅等,而MQTT只支持发布订阅模式。

安全性不同:RabbitMQ支持SSL安全传输,而MQTT则不支持。

消息分发能力不同:RabbitMQ支持消息路由、分组多队列分发,MQTT支持多主题广播分发。

性能不同:RabbitMQ的性能要比MQTT高,支持更多的功能,支持更多的消息分发策略。

了解完程序就开始安装吧,在CentOS上安装和部署MQTT通常意味着安装一个MQTT代理(broker),安装步骤如下:

添加EPEL仓库

Mosquitto可能不在CentOS默认的Yum仓库中,因此需要先添加EPEL(Extra Packages for Enterprise Linux)仓库。

代码语言:javascript复制
sudo yum install -y epel-release

更新Yum包索引: 添加了新的仓库后,更新Yum包管理器的索引。

代码语言:javascript复制
sudo yum update

在安装过程中会提示:有2个软件包,升级41个软件包等信息,总下载大小:230 M

询问是否需要,[y/d/N]:直接【y】即可,如图:

在CentOS服务器使用Mosquitto安装和部署MQTT 第1张在CentOS服务器使用Mosquitto安装和部署MQTT 第1张

安装Mosquitto:

使用Yum安装Mosquitto及其客户端。

代码语言:javascript复制
sudo yum install -y mosquitto

配置Mosquitto

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

代码语言:javascript复制
sudo systemctl start mosquitto

设置开机自启: 如果希望在系统启动时自动启动Mosquitto服务,可以设置开机自启。

代码语言:javascript复制
sudo systemctl enable mosquitto

检查服务状态: 确认Mosquitto服务正在运行。

代码语言:javascript复制
sudo systemctl status mosquitto

如图“active”表示运行状态,没有问题。

在CentOS服务器使用Mosquitto安装和部署MQTT 第2张在CentOS服务器使用Mosquitto安装和部署MQTT 第2张

关闭匿名登录:编辑【/etc/mosquitto/mosquitto.conf】文件,设置【allow_anonymous false】,如图:

在CentOS服务器使用Mosquitto安装和部署MQTT 第3张在CentOS服务器使用Mosquitto安装和部署MQTT 第3张

设置认证:使用mosquitto_passwd命令生成用户名和密码,并在mosquitto.conf文件中指定密码文件。

代码语言:javascript复制
mosquitto_passwd -c /etc/mosquitto/passwd.conf user

注意:-c参数会创建新文件,如果文件已存在,则使用-b参数添加新用户。

在CentOS服务器使用Mosquitto安装和部署MQTT 第4张在CentOS服务器使用Mosquitto安装和部署MQTT 第4张

开放端口: MQTT默认使用1883端口,确保防火墙已开放此端口。

代码语言:javascript复制
firewall-cmd --zone=public --add-port=1883/tcp --permanentfirewall-cmd --reload

测试MQTT

发布消息:

代码语言:javascript复制
mosquitto_pub -h localhost -t test -m "hello world" -u "user" -P "password"

订阅消息:

代码语言:javascript复制
mosquitto_sub -h localhost -t test -u "user" -P "password"

注意事项

确保在安装和配置过程中遵循官方文档和最佳实践。根据实际需求调整MQTT代理的配置,如端口号、认证方式等。在生产环境中,务必确保MQTT代理的安全性,包括使用强密码、限制访问IP等。好了,配置完成,有问题留言反馈~

0 人点赞