Mosquitto之编译与安装

本文详细介绍了在Linux环境下编译与安装Mosquitto MQTT服务器的过程,包括必要的前置准备、配置修改、编译安装步骤及测试方法。通过本文,读者可以了解如何在本地环境中成功搭建MQTT服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 概述

本文主要介绍linux下mosquitto的编译与安装。

  • 编译前准备

安装openssl。

  • 下载与编译

1、wget https://mosquitto.org/files/source/mosquitto-1.6.7.tar.gz

2、创建安装目录

mkdir -pv tools/mosquitto               // 这里假设当前目录为/home/apps/,安装在/home/apps/tools/mosquitto

tar -zxf mosquitto-1.6.7.tar.gz

cd mosquitto-1.6.7

3、修改config.mk

vim config.mk,将修改以下:

ifeq ($(WITH_TLS),yes)
            BROKER_LDADD:=$(BROKER_LDADD) -lssl -lcrypto -ldl
            LIB_LIBADD:=$(LIB_LIBADD) -lssl -lcrypto -ldl
            BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS
            LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS
            PASSWD_LDADD:=$(PASSWD_LDADD) -lcrypto -ldl
            CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS
            STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lssl -lcrypto -ldl

     ifeq ($(WITH_TLS_PSK),yes)
                BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS_PSK
                LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS_PSK
                CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS_PSK
            endif
        endif

------------------------------------------------------------------------------------------------------------------

prefix?=

DESTDIR=/home/apps/tools/mosquitto
        4、执行编译

make && make install

5、编译后生成的结果如下

bin  etc  include  lib  sbin  share

其中:

bin目录存放的是一些工具,例如:订阅与发布、用户名/密码创建等工具;

etc目录存放的是配置文件,其中包括用于mosquitto运行的配置文件、访问控制列表、预共享密钥配置文件、用户名/密码文件;

sbin目录中存放的是mosquitto程序;

其他目录用于开发与阅读使用。

  • 测试

1、配置修改(这里大部分使用默认配置,后续文章将说明各个配置项的意义)

cp -f ../etc/mosquitto/mosquitto.conf.example ./mosquitto.conf

修改配置文件,指定当前user为当前用户(mosquitto不建议使用root用户进行运行):

vim mosquitto.conf

找到#user mosquitto行,修改为当时登录的用户名,例如:

user appuser

2、mosquitto启动

./mosquitto -c mosquitto.conf

3、启动一个订阅客户端,用于订阅一个topic:foo/bar

在bin目录,运行订阅者:

./mosquitto_sub -t foo/bar

4、启动一个发布客户端,用于往topic:foo/bar上发布消息

./mosquitto_pub -t foo/bar -m "Hello World"

5、检查订阅客户端是否收到发布者发送的消息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值