MENU

windows环境下MQTT Apollo搭建

2017 年 11 月 05 日 • mqtt

Apollo是一款由Apache研发的一款MQTT broker。借用官方的介绍:ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. It accomplishes this using a radically different threading and message dispatching architecture. Like ActiveMQ, Apollo is a multi-protocol broker and supports STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets.

准备工作

  1. 安装JAVA运行环境
    这里不多说,网上有很多安装了配置JAVA运行环境的教程,有一点需要注意的是,要下载JDK,因为单独的JRE包里是没有bin/server/jvm.dll。
  2. 列表项目
    下载broker安装包,下载地址为:apollo下载地址

安装apollo

安装的过程极其简单,首先解压压缩包,创建一个broker,创建的方法是执行解压文件夹中的bin/apollo.cmd create mybroker,mybroker是需要创建的名称,可以换成其它值。

QQ截图20171105105310.png

然后会提示为这个broker创建的文件夹,比如我的在bin/mybroker,文件夹下是一些配置和日志,以及执行脚本,具体的内容说明可以参见用户手册。创建好broker之后就可以启动了,启动的命令是进入到这个broker自己的bin目录,执行apollo-broker.cmd run即可启动。首次启动它也会提示你将服务器启动设置为系统服务,这样当系统启动时服务器会跟着启动,按照命令操作即可。

QQ截图20171105110128.png

一些配置

启动完成之后我们可以通过网页进行管理,登录地址是http://127.0.0.1:61680https://127.0.0.1:61681,用户名默认分别是adminpassword。地址相关的配置在mybroker/etc/apollo.xml文件中,可以作相关的更改。用户与密码相关的配置在mybroker/users.properties中,以用户名=密码设置,比如我添加个用户名为Ken,密码为123456的账号就增加如下一行即可。

admin=password
Ken=123456

如果希望该用户可以登录管理后台,则在groups.properties文件中,将用户添加至管理组,如下即可

#
# Allows you to place multiple users in a group.
# Example:
#
# power_users=admin|chirino
#
admins=admin|Ken

简单测试

服务器启动之后就可通过客户端订阅和发布主题了。当然简单测试的话我们可以使用测试软件进行测试,下载地址为org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.zip。解压后直接运行paho.exe即可。软件打开后点击左上角创建一个新的连接,输入连接的地址与端口,如果需要设置用户名与密码可以点击选项标签进行相关的配置。一切搞定之后,就可愉快的订阅与发布主题了。

这里有一个坑需要注意的是如果使用python paho库进行客户端开发,在创建Client的时候需要进行构造函数填充,因为使用默认的协议版本服务器端不接收(服务端报空指针,没有具体去看),可以按照如下方法进行创建。

client2 = mqtt.Client("", True, None, mqtt.MQTTv31, "tcp")
client2.username_pw_set("admin", "password")   #username: admin | password: password
client2.on_connect = on_connect
client2.on_message = on_message
最后编辑于: 2017 年 12 月 10 日