WSL中安装、使用mosquitto

280 阅读2分钟

1. 安装Mosquitto

以源代码编译安装为例

1.1更新Linux环境

sudo apt update 
sudo apt upgrade

1.2 安装必要的编译工具

sudo apt install build-essential

1.3下载Mosquitto源码

Download | Eclipse Mosquitto

下载对应tar.gz包即可,将压缩包放置在预安装的路径下,如/mnt/d/tools(此处以wsl下的挂载路径为例)。

1.4 解压源码包

cd到压缩包所在位置,如/mnt/d/tools

tar xzf mosquitto-x.y.z.tar.gz 
cd mosquitto-x.y.z

自行将x,y,z替换为实际下载版本即可。

1.5 编译并安装

make
sudo make install

1.6 配置Mosquitto(可选):

  • 编辑mosquitto.conf文件以更改默认设置,如端口号、日志级别等。
  • 文件通常位于/etc/mosquitto/mosquitto.conf

1.7 启动Mosquitto服务

sudo mosquitto -c /etc/mosquitto/mosquitto.conf

2.可能遇到的问题

2.1 编译 Mosquitto 时找不到 openssl/opensslconf.h 头文件

2.1.1. 安装 OpenSSL 开发库

在当前打开的wsl终端中依次执行下述指令:

sudo apt-get update 
sudo apt-get install libssl-dev

2.1.2 检查 OpenSSL 安装位置,确认安装

sudo find /usr -name opensslconf.h

2.1.3 清理并重新编译

make clean 
make
sudo make install

2.2 编译 Mosquitto 时找不到 cjson/cJSON.h 头文件

2.2.1. 安装 cJSON 库

GitHub - DaveGamble/cJSON: Ultralightweight JSON parser in ANSI C

下载压缩包,将压缩包放置在预安装的路径下,如/mnt/d/tools(此处以wsl下的挂载路径为例) 可以手动解压到当前文件夹,也可以指令解压

2.2.2. 解压并进入源代码目录,运行以下命令来编译和安装 cJSON

cd cjson-x.y.z # cjson-x.y.z更改为实际下载解压后的的文件夹名,如cJSON-master
# 编译并安装(可能需要 sudo 权限) 
mkdir build 
cd build 
cmake .. 
sudo make install

2.2.3 清理并重新编译

make clean 
make
sudo make install

2.3/etc/mosquitto 目录下是 mosquitto.conf.example 文件,而非 mosquitto.conf

2.3.1. 复制示例配置文件

sudo cp mosquitto.conf.example mosquitto.conf 
sudo vi mosquitto.conf # 使用自己熟悉的文本编辑器打开文件进行编辑

也可以自己创建

sudo touch mosquitto.conf 
sudo vi mosquitto.conf

之后执行1.7步骤中的指令即可。