1. 安装Mosquitto
以源代码编译安装为例
1.1更新Linux环境:
sudo apt update
sudo apt upgrade
1.2 安装必要的编译工具:
sudo apt install build-essential
1.3下载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步骤中的指令即可。