Linux:MQTT通信协议之二 -- 编译源码搭建mosquitto

下载源码:https://mosquitto.org/download/

解压源码tar xzvf mosquitto-1.6.9.tar.gz

进入源码目录cd mosquitto-1.6.9/

编译make
编译过程中可能会出现问题,例如:

../config.h:48:35: fatal error: openssl/opensslconf.h: No such file or directory

提示没有改文件或目录,这是因为没有安装libssl-dev,执行安装命令sudo apt-get install libssl-dev即可,再有其他问题的话有可能是软件版本等其他问题,笔者在安装过程中是没有遇到其他奇怪的问题,要是遇到直接去搜一下即可,你肯定不是第一个遇到这个问题的人。

安装make install

准备工作
如果按照上一篇文章安装了mosquitto和mosquitto-clients,为避免出现问题,可以执行sudo apt-get remove mosquittosudo apt remove mosquitto-clients把它们先卸载,如果没有安装则可以跳过这一步。

测试

book@Ubuntu:~$ mosquitto --help
mosquitto version 1.6.9

mosquitto is an MQTT v3.1.1 broker.

Usage: mosquitto [-c config_file] [-d] [-h] [-p port]

 -c : specify the broker config file.
 -d : put the broker into the background after starting.
 -h : display this help.
 -p : start the broker listening on the specified port.
      Not recommended in conjunction with the -c option.
 -v : verbose mode - enable all logging types. This overrides
      any logging options given in the config file.

See http://mosquitto.org/ for more information.

book@Ubuntu:~$
book@Ubuntu:~$
book@Ubuntu:~$ mosquitto_sub --help
mosquitto_sub: /usr/lib/x86_64-linux-gnu/libmosquitto.so.1: version `MOSQ_1.5' not found (required by mosquitto_sub)
mosquitto_sub: /usr/lib/x86_64-linux-gnu/libmosquitto.so.1: version `MOSQ_1.6' not found (required by mosquitto_sub)
book@Ubuntu:~$
book@Ubuntu:~$
book@Ubuntu:~$ mosquitto_pub --help
mosquitto_pub: /usr/lib/x86_64-linux-gnu/libmosquitto.so.1: version `MOSQ_1.5' not found (required by mosquitto_pub)
mosquitto_pub: /usr/lib/x86_64-linux-gnu/libmosquitto.so.1: version `MOSQ_1.6' not found (required by mosquitto_pub)
book@Ubuntu:~$

  可以看到,服务器端已经正常,但两个客户端(订阅端和发布端)还没能运行,这时候就需要执行sudo ldconfig进行更新链接器缓存。和上一篇文章比较,两种方法都可以安装mosquitto,这篇文章介绍的是将服务器端和客户端一起安装了。经过测试,手动编译安装的服务器默认是开机不启动的。
  后续的测试与上一节的测试内容一致,不重复累述。

参考文章
搭建自己的MQTT服务器

你可能感兴趣的:(Linux,linux,mqtt,mosquitto)