Linux上搭建mqtt开发环境及服务器部署(Mosquitto&EMQX)

在这里插入图片描述

👉👉👉关于Mosquitto代码编写及EMQX的使用,由此入

一、安装编译Mosquitto

使用Mosquitto编写程序连接MQTT服务器,并收发数据

1-安装所需依赖

用于在Linux系统上进行SSL/TLS加密通信的开发。它提供了一组用于加密和解密数据、生成和验证数字证书以及进行安全通信的函数和工具

sudo apt-get install libssl-dev uuid-dev

2-下载-编译mosquitto源码

Mosquitto是一个开源的MQTT消息代理服务器,它实现了MQTT协议,是一个轻量级的、基于发布/订阅模式的消息传输协议。它可以用于构建物联网应用程序,实现设备之间的通信
Mosquitto下载地址:
在这里插入图片描述

下载源码

wget http://mosquitto.org/files/source/mosquitto-1.6.8.tar.gz

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

tar -xvf mosquitto-1.6.8.tar.gz

在这里插入图片描述
编译

make -j4

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

sudo make install

在这里插入图片描述
在这里插入图片描述
可以自行选择是否 将安装库加载到系统库中

sudo cp -p /usr/local/lib/libmosquitto* /usr/lib

在这里插入图片描述

二、部署MQTT服务器(EMQX)

在这里插入图片描述

EMQX是一个开源的分布式物联网消息中间件,它实现了MQTT协议,用于连接和交换物联网设备之间的消息。EMQX具有高可用性、高性能和可扩展性,可以支持大规模的物联网应用

1-下载安装EMQX

后续我试了一下选择这个deb下载应该更好,所有步骤基本都差不多,安装官网的指令复制粘贴即可,下面的我就不修改了
在这里插入图片描述

EMQX下载链接
在这里插入图片描述

我使用的是树莓派5(Debian 12 - Bookwrom)

wget https://www.emqx.com/zh/downloads/broker/5.4.1/emqx-5.4.1-debian12-arm64.tar.gz

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

安装
mkdir -p emqx && tar -zxvf emqx-5.4.1-debian12-arm64.tar.gz -C emqx
启动
./emqx/bin/emqx start
加上前面加上sudo systemctl开机自启动
sudo systemctl ./emqx/bin/emqx start

在这里插入图片描述
可以看到EMQX已经启动成功啦

👉👉👉关于Mosquitto代码编写及EMQX的使用,由此入

### MQTT服务器部署与配置 #### 选择合适的MQTT代理软件 对于Linux系统MQTT服务器构建,可以选择Mosquitto或EMQX作为MQTT代理。这两种工具都提供了稳定的服务支持,并且具有良好的社区文档[^1]。 #### 准备工作环境 确保目标Linux机器已更新至最新状态并安装必要的依赖库,例如通过命令`sudo apt-get update && sudo apt-get upgrade`来完成系统升级以及利用`sudo apt-get install libssl-dev uuid-dev`获取所需开发包以用于后续可能的手动编译需求。 #### 使用Docker简化部署流程 考虑到便捷性和可移植性的因素,在Linux环境下采用Docker容器化技术来进行MQTT服务端的快速部署是一种高效的方式。这不仅能够减少直接在操作系统层面的操作复杂度,还能更好地隔离不同应用程序之间的相互影响。具体来说,先要确认已经正确设置了Docker环境,之后可以通过拉取官方提供的MQTT镜像文件(如Eclipse Mosquitto 或 EMQ X),并通过简单的指令启动对应的容器实例[^2]。 ```bash docker pull eclipse-mosquitto docker run -d -p 1883:1883 --name mosquitto eclipse-mosquitto ``` 如果选择了EMQX,则可以按照如下方式执行: ```bash mkdir -p /opt/emqx && tar zxfv emqx-package-version.tar.gz -C /opt/emqx/ /opt/emqx/bin/emqx start # 设置为开机自启 sudo ln -s /opt/emqx/bin/emqx /etc/init.d/emqx sudo update-rc.d emqx defaults ``` 以上步骤适用于大多数标准Linux发行版下的操作指南[^3]。 #### 远程访问设置 为了使外部设备能顺利连接到位于云端的MQTT服务器,需注意防火墙规则开放相应的TCP端口(默认情况下是1883),并且根据实际情况调整安全组策略允许来自特定IP范围内的请求进入。另外,还需保证所使用的云服务商控制台里也进行了相应公网IP映射等网络参数设定以便于远程管理维护[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值