Windows下安装配置Apollo和Mosquitto

时间:2021-05-17 09:16:16

因项目需要了解了MQTT默认服务端的配置,目前在本地有进行Apollo及Mosquitto的安装及配置,记录下来,下一步将在linux环境下进行配置操作。

关于最终使用谁来完成服务端的重任还需时间进行验证了。


Apollo 安装配置

    第一步下载安装

        本地电脑Windows7 64位
        下载地址:http://activemq.apache.org/apollo/download.html


        下载Apollo服务器并解压,在CMD环境运行其工作目录下的 bin\apollo.cmd,命令后面带上参数「create mybroker」,创建服务器实例。这里需要Java环境,系统环境变量下要有JAVA_HOME。


        创建实例之后会在bin目录下生成mybroker文件夹,其中 etc\apollo.xml 文件下是配置服务器信息的文件,
        etc\users.properties 文件包含连接MQTT服务器时用到的用户名和密码,初始默认帐号是admin,密码password;

        启动服务:
        在安装目录下执行: mybroker\bin\apollo-broker run
        会出现如下界面:

Windows下安装配置Apollo和Mosquitto
        其中我们要留意的:
        MQTT服务器TCP连接端口:tcp://0.0.0.0:61613
        后台登录接口:https://127.0.0.1:61681/或http://127.0.0.1:61680/


        进入后台管理界面:
        登录服务器后,如果MQTT服务器有客户端连接,后台会显示如下
Windows下安装配置Apollo和Mosquitto
   

   第二步 JAVA程序测试

        java项目测试
        端口号: tcp://127.0.0.1:61613
        测试结果如下图:
Windows下安装配置Apollo和Mosquitto



   第三步 配置文件说明

    1)、users.properties:

        用来配置可以使用服务器的用户以及相应的密码。
        其在文件中的存储方式是:用户名=密码,如:
        lily=123456
        表示新增一个用户,用户名是:lily,密码是:123456

    2)、groups.properties:

        持有群体的用户映射,可以通过组而不是单个用户简化访问控制列表。
        可以为一个定义的组设置多个用户,用户之间用“|”隔开,如:
        admins=admin|lily
        表示admins组中有admin和lily两个用户


    3)、black-list.txt:

        用来存放不允许连接服务器的IP地址,相当于黑名单类似的东西。
        例如:
        4.4.4.4
        表示上面IP不能够连接到服务器。


    4)、login.config:

    是一个服务器认证的配置文件,为了安全apollo1.6版本提供了认证功能,只有相应的用户名和正确的密码才能够连接
    服务器。


    5)、服务器主配置文件apollo.xml:

    该配置文件用于控制打开的端口,队列,安全,虚拟主机设置等。
        1、认证:可以使用<authenticationdomain="internal" />来配置是否需要连接认证,如果将其属性enable设置为false表示不用认证,任何人都可以连接服务器,默认为true
        
        2、access_rule:可以在broker或者virtual_host中用于定义用户对服务器资源的各种行为。如:
    <access_rule allow="users" action="connect create destroy send receive consume"/>表示群组users里面的用户可以对服务器资源进行的操作有:connect 、create、 destroy、 send 、receive 、consume。详细的操作说明见:
    http://activemq.apache.org/apollo/documentation/user-manual.html
        
        3、message stores:默认情况下apollo使用的是LevelDB store,但是推荐使用BDB store(跨平台的)只能够实用其中一种。使用LevelDB store的配置是:<leveldb_store directory="${apollo.base}/data"/>默认有提供不用任何修改。使用BDB store需要到网站下jar包支持http://download.Oracle.com/maven/com/sleepycat/je/5.0.34/je-5.0.34.jar,将jar包放在服务器的lib目录下面,然后将配置文件改成:<bdb_store directory="${apollo.base}/data"/>即可。
        
        4、connector:用于配置服务器支持的链接协议以及相应的端口。如:
     <connector id="tcp" bind="tcp://0.0.0.0:61613" connection_limit="2000" protocol="mqtt"/>表示支持tcp链接,使用的端口是61613,链接限制是2000,自动侦听的协议是mqtt协议。



Mosquitto 安装配置

   第一步下载安装:

       本地电脑Windows7 64位
       软件下载地址:http://download.csdn.net/download/gao547195592/6787453
       直接安装即可。

   第二步DOC下测试   

      启动broker
      windows下使用命令提示符,进入mosquitto安装目录
      输入命令 mosquitto -c mosquitto.conf
      无提示信息,表示mqtt的broker端已经启动
      Windows下安装配置Apollo和Mosquitto


      在当前窗口订阅一个主题内容
      mosquitto_sub -v -t topicTest01
      -v:打印更多调试信息
      -t:指定主题,此处为topicTest01
Windows下安装配置Apollo和Mosquitto

      重新开启一下窗口向该主题发送内容
      mosquitto_pub -t topicTest01 -m TestMessage
      -t:指定主题
      -m:指定消息内容
  Windows下安装配置Apollo和Mosquitto

     接收消息信息

Windows下安装配置Apollo和Mosquitto


   第三步 JAVA程序测试

       java代码层面跟Apollo没有区别,只是将端口号修改为1883即可
  Windows下安装配置Apollo和Mosquitto


   第四步 配置文件说明

        相关配置选项说明备注,请参考以下链接地址        

         http://blog.csdn.net/xyblog/article/details/50113453