-
概述
本文主要介绍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、检查订阅客户端是否收到发布者发送的消息