mqtt-linux安装


1.设置保存安装包路径 

    # cd /usr/local/mqtt

2、开始下载源包

    # wget https://mosquitto.org/files/source/mosquitto-1.6.7.tar.gz

3、解压

    解压后得到mosquitto-1.6.7文件目录

        # tar zxvf mosquitto-1.6.7.tar.gz
        # mv mosquitto-1.6.7 /usr/local/mosquitto-1.6.7

4、安装MQTT运行依赖环境

    以下三个必须安装,不然make时无法通过。 另外安装MQTT之前,我们也可以# cat compiling.txt文件阅读一下官方的说明。

        # yum -y install openssl-devel
        # yum -y install gcc-c++
        # yum -y install cmake

5、修改config.mk配置文件

    # cd /usr/local/mosquitto-1.6.7
    # vim config.mk

    修改以下为yes,如果前面有#就去掉,保存退出。

    WITH_WEBSOCKETS:=yes

    WITH_ADNS:=yes

6、编译安装

    # make
    # make install

    以上执行# make时,如果不报错的话,就跳过以下说明。如果报错: mosquitto.c:49:29: fatal error: libwebsockets.h: No such file or directory 

    那么说明libwebsockets 没有安装好,执行卸载# yum remove libwebsockets,下载新的源包的进行安装,步骤如下。 

    源包链接:https://github.com/warmcat/libwebsockets  我们选择一个版本复制zip下载链接,这里我选择的是1.5版本。

    # wget https://github.com/warmcat/libwebsockets/archive/v1.5-stable.zip   
    # yum -y install unzip
    # unzip libwebsockets-1.5.zip             
    # mkdir -p /usr/local/websocket
    # mv libwebsockets-1.5-stable /usr/local/websocket
    # cd /usr/local/websocke/libwebsockets-1.5-stable
    # cmake .
    # make
    # make install

7.设置用户名

    用户参数说明

    Mosquitto服务器的配置文件为/usr/local/mqtt/mosquitto-1.6.7/mosquitto.conf,关于用户认证的方式和读取的配置都在这个文件中进行配置。

    allow_anonymous允许匿名

    password_file密码文件

    acl访问控制列表

    1.进入mosquitto.conf文件修改     #不允许匿名     allow_anonymous false     

    #配置用户密码文件     password_file /usr/local/mqtt/mosquitto-1.6.7/pwfile.example          # 配置topic和用户     acl_file /usr/local/mqtt/mosquitto-1.6.7/acl      2.添加用户信息     添加用户'admin'密码'password'     #mosquitto_passwd -c /usr/local/mqtt/mosquitto-1.6.7/pwfile.example admin 3.添加topic与用户关系      4.启动mqtt

    mosquitto -c /usr/local/mqtt/mosquitto-1.6.7/mosquitto.conf -d #-d background running

    如果启动报如下错误:

        1.mosquitto: error while loading shared libraries: libwebsockets.so.5: cannot open shared object file: No such file or directory

             解决方案:修改/etc/ld.so.conf文件,加入libwebsockets的so路径,如下              执行命令:         ldconfig         2.如果启动报如下错误:              解决方案:         修改配置文件:mosquitto.conf ,增加登录的用户,例如当前登录用户为admin         

8.mptt正常启动后:     (订阅端)客户端启动:     

    (发布者)客户端启动: