1.mosquitto的安装
先安装依赖库:
apt-get install libuuid-devel
apt-get install g++
apt-get install openssl libssl-dev
apt-get install gcc
apt-get install make
下载源码:http://mosquitto.org/files/source/ 选择自己需要的版本
wget https://mosquitto.org/files/source/mosquitto-1.5.8.tar.gz
tar -zxvf mosquitto-1.5.8.tar.gz
cd mosquitto-1.5.8/
vim config.mk #编辑配置文件关闭不想要的功能
make install #执行编译安装
安装成功提示如下:
2、创建用户组和用户:
groupadd mosquitto
useradd -g mosquitto mosquitto
3、复制mosquitto.conf.example 和 pwfile文件
cd /etc/mosquitto
cp mosquitto.conf.example mosquitto.conf
cp pwfile.example pwfile
4、启动mqtt服务
mosquitto -c /etc/mosquitto/mosquitto.conf
启动正常如下图所示:
5、测试需要另外打开两个窗口进行测试
订阅窗口:(如果出现问题请参考下边问题解决步骤解决)
发布窗口:
发布成功之后订阅窗口会收到对应的信息:
问题解决:
在安装过程中,或测试过程中可能会遇到错误:
(1)mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
解决方法:
cat /etc/ld.so.conf
echo “/usr/local/lib”>>/etc/ld.so.conf
ldconfig
(2)mosquitto_internal.h:51:20: error: ares.h: No such file or directory
其实是因为它新加的功能的原因。打开config.mk文件。
吧WITH_SRV:=yes 改成WITH_SRV:=no 就可以编译了
(3)mosquitto.c:47: fatal error: libwebsockets.h: No such file or directory
若使用websocke,则修改编译规则文件config.mk
Build with websockets support on the broker.
WITH_WEBSOCKETS:=yes
(4)使用过程中找不到libmosquitto.so.1
error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
【解决方法】修改libmosquitto.so位置
创建链接
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1