目录
1、创建安装包存储目录
mkdir -p /data/install-page
2、下载或手动上传安装包
cd /data/install-page
wget https://mosquitto.org/files/source/mosquitto-2.0.14.tar.gz
wget https://c-ares.org/download/c-ares-1.18.0.tar.gz
wget https://codeload.github.com/warmcat/libwebsockets/tar.gz/refs/tags/v1.3-chrome37-firefox30
wget https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.15.tar.gz
3、环境准备与依赖安装
yum install gcc gcc-c++ libstdc++-devel openssl-devel c-ares-devel uuid-devel libuuid-devel cmake
4、c-ares编译注意事项
支持异步 DNS 查找的库
tar zxvf c-ares-1.18.0.tar.gz
cd /c-ares-1.18.0
./configure
make
make install
5、libwebsockets编译优化
支持使用 websocket 的应用
tar zvxf libwebsockets-1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build
cd build
cmake .. -DLIB_SUFFIX=64
make install
6、安装mosquitto
tar zvxf mosquitto-2.0.14.tar.gz
cd mosquitto
make
make install
7、创建专用用户和配置文件目录
groupadd mosquitto
useradd -g mosquitto mosquitto
mkdir -p /etc/mosquitto/conf.d
cp mosquitto.conf /etc/mosquitto/
8、问题解决
问题1:安装c-ares时出现
解决方法:
升级GCC到7.3
yum install centos-release-scl
yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
gcc --version
which gcc
cd /data/install-page/c-ares-1.18.0/docs
vim CMakeLists.txt
添加
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_definitions(-D_GLIBCXX_USE_C99=1)
问题2:安装mosquitto时出现
解决方法:
安装cJson
tar zvxf cJSON-1.7.15.tar.gz
cd cJSON-1.7.15
make
make install
问题3: