1.基础准备
安装基础软件
yum install gcc-c++
yum install cmake
yum install openssl-devel //mosquitto默认支持openssl
2.下载程序
wget http://mosquitto.org/files/source/mosquitto-1.4.4.tar.gz
tar -xzvf mosquitto-1.4.4.tar.gz
cd mosquitto-1.4.4
3.编译安装
vim config.mk
参考如下:
4.安装c-areas
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make
sudo make install
5.安装lib-uuid
yum install libuuid-devel
6.安装libwebsockets
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build; cd build;
cmake .. -DLIB_SUFFIX=64
make install
7.开始安装mosquitto
注意需要在解压目录下进行安装
make
make install
8.程序配置
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
配置项增加程序启动路径,其他部分未动,//关于详细配置可参考
http://mosquitto.org/man/mosquitto-conf-5.html
#pid_file /var/run/mosquitto.pid
9.启动程序
mosquitto -c /etc/mosquitto/mosquitto.conf -d
启动时出现如下错误:
解决方法:需要添加mosquitto用户,adduser -g mosquitto mosquitto
10.客户端测试
开两个shell窗口
cd /usr/local/bin
订阅者:mosquitto_sub -t location
发布者:mosquitto_pub -t location -h localhost -m "new location"
测试时出现错误:error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
解决方法:修正链接库路径
//添加路径
vim /etc/ld.so.conf.d/liblocal.conf
/usr/local/lib64
/usr/local/lib
//刷新
ldconfig
正常后可以在A窗口看到由B推送的消息,此外服务端窗口也可以看到客户端连接和端口的日志
参考1:https://blog.csdn.net/black_little_/article/details/88555822