Linux环境下mosquitto的安装及部分问题解决方法

来源:互联网 发布:日有所思夜有所梦 知乎 编辑:程序博客网 时间:2024/06/05 04:14
前言
mosquitto是MQTT协议的一个实现,本次测试的环境使用的是京东云的VPS,系统是ubuntu。由于京东云的VPS有很多工具没有预装,因此在安装过程中也遇到了一些因为环境导致的错误,于是将其记录下来,方便其他伙伴出现相同问题时参考。

mosquitto安装步骤:
1、下载源码包,这里使用1.4.5版本。
wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz
2、解压
tar zxfv mosquitto-1.4.5.tar.gz
3、进入目录、编译、安装
cd mosquitto-1.4.5
make
make install

编译mosquitto可能出现的问题及解决方法:

一、编译工具缺失
报错信息:make、gcc工具缺失
解决方法:安装工具:apt-get install build-essential

二、openssl/ssl.h 错误
报错信息:fatal error: openssl/ssl.h: No such file or directory
解决方法:
情况1:检查是否安装openssl,一般VPS都已经安装好了的,未安装则对其进行安装:
apt-get install openssl
安装完毕后执行openssl,若可以进入oepnssl模式,说明安装成功。如图:

情况2:已安装oepnssl,则先查看/usr/local/include和/usr/include目录,看是否有openssl文件夹,若没有,需安装libssl-dev: apt-get install libssl-dev

三、ares 错误
报错信息:fatal error:ares.h: No such file or directory
解决方法:
方法一:修改mosquitto目录下config.mk文件,将WITH_SRV=yes改为WITH_SRV=no。
方法二:安装libc-ares-dev:apt-get install libc-ares-dev

四、uuid 错误
报错信息:fatal error: uuid/uuid.h: No such file or directory
解决方法:安装uuid-dev:apt-get install uuid-dev

运行mosquitto可能出现的问题及解决方法:

一、Invalid user错误
报错信息:Error: Invalid user 'mosquitto'
解决方法:
方法一:修改mosquitto目录下mosquitto.conf文件,在#user mosquitto处添加当前运行的用户,如当前用户为mumu,则添加 user mumu,如图:

方法二:执行 adduser mosquitto

正常运行输出信息:
mosquitto -v
1510234629: mosquitto version 1.4.5 (build date 2017-11-09 19:35:31+0800) starting
1510234629: Using default config.
1510234629: Opening ipv4 listen socket on port 1883.
1510234629: Opening ipv6 listen socket on port 1883.