windows安装apollo mqtt

老刘

Windows安装Apollo MQTT完整指南:从零搭建物联网消息服务器

很多做物联网开发、智能家居控制或者设备数据采集的朋友,都需要一个稳定的MQTT服务器。Apache Apollo是早期非常轻量的MQTT消息代理,支持MQTT、STOMP等协议,在Windows环境下搭建简单,资源占用低,特别适合个人学习、小项目测试或局域网设备通信。下面用最直白的步骤,手把手教你在Windows上把Apollo MQTT装好并跑起来。

一、先搞清楚Apollo是什么,适不适合你

Apollo本质是基于Java的消息中间件,前身和ActiveMQ有渊源。它天生支持MQTT 3.1协议,默认就能监听1883端口,配置文件清晰,启动后几乎零门槛。
注意:Apollo官方已停止大版本更新(最后稳定版约1.7.1),但用于学习、内网测试、低并发场景完全够用。如果你后期需要高并发、集群或WebSocket强支持,可再考虑EMQX、Mosquitto或ActiveMQ Artemis。本文专注Apollo的Windows安装与基础配置。

二、安装前必须准备的环境(新手最容易卡在这里)

Apollo完全依赖Java运行时,没装好Java后面全白搭。

  1. 下载并安装JDK
    推荐使用JDK 8(兼容性最好,高版本JDK有时会报反射或模块问题)。

    • 去Oracle官网或国内镜像(如华为云、清华镜像)搜索“JDK 8 Windows x64”下载安装包。
    • 双击安装,路径建议默认或选C:\Program Files\Java\jdk1.8.0_xxx,记住这个路径。
    • 安装时勾选“设置JAVA_HOME”如果有选项,没有就手动配。
  2. 配置环境变量(超级关键)

    • 右键“此电脑”→属性→高级系统设置→环境变量。
    • 系统变量里新建:
      变量名:JAVA_HOME
      变量值:你的JDK路径(例:C:\Program Files\Java\jdk1.8.0_291
    • 找到Path变量,编辑,新建两条:
      %JAVA_HOME%\bin
      %JAVA_HOME%\jre\bin
    • 确定保存后,打开CMD输入java -versionjavac -version,能看到版本号就成功了。
      如果提示“不是内部或外部命令”,重新检查路径有没有空格、反斜杠写错。
  3. 其他准备

    • 电脑最好是Windows 10/11 64位,管理员权限运行后续命令。
    • 关闭或临时放行防火墙1883端口(后面会说)。
    • 准备一个MQTT客户端测试工具,推荐免费的MQTTX或MQTT.fx,方便验证。

三、下载Apollo安装包

  1. 浏览器搜索“Apache Apollo download”或直接访问Apache归档地址,下载最新可用版本(通常是apache-apollo-1.7.1-windows-distro.zip)。
  2. 下载后解压到纯英文路径,强烈建议:D:\apolloC:\apollo(路径里千万别有中文、空格,否则脚本容易挂)。
  3. 解压后目录结构大致是:binlibexamplesdocs等。bin目录下有apollo.cmdapollo-broker.cmd,这就是核心命令。

四、创建自己的Broker实例(真正的“安装”动作)

Apollo不是传统安装程序,而是创建实例后运行。

  1. 以管理员身份打开CMD(或PowerShell),进入解压目录的bin文件夹:

    cd /d D:\apollo\bin
  2. 创建broker(把mybroker换成你喜欢的名字):

    apollo create mybroker

    命令执行后会在D:\apollo下生成mybroker文件夹,里面包含binetcdatalog等。这就是你的消息服务器实例。

  3. 进入新创建的实例:

    cd /d D:\apollo\mybroker\bin

五、配置Apollo支持MQTT(核心步骤)

默认创建的实例已经开启了MQTT,但为了稳妥和安全,我们检查并微调。

  1. 用记事本或VS Code打开:D:\apollo\mybroker\etc\apollo.xml
  2. 找到<connector>相关部分,确认有类似这样的配置(没有就手动加):
    <connector id="tcp" bind="tcp://0.0.0.0:61613" />
    <connector id="mqtt" bind="mqtt://0.0.0.0:1883" />

    0.0.0.0表示监听所有网卡,1883是MQTT标准端口。如果端口冲突可改成1884。

  3. 安全相关(新手先开简单模式):
    找到<authentication>或用户配置部分,默认有guest用户。生产环境建议改掉默认密码,在etc\users.properties或对应文件里修改。
    临时测试可以直接用匿名或默认账号。
  4. 保存文件。其他如内存、日志可先保持默认,后期再调。

六、启动Apollo MQTT服务

  1. 还是在mybroker\bin目录下,执行:
    apollo-broker.cmd run

    或者后台运行用apollo-broker.cmd start(Windows服务方式)。

  2. 看到控制台输出类似“Apollo is ready”或“Listening for connections at: mqtt://0.0.0.0:1883”,就说明启动成功。
  3. 保持这个黑窗口不要关(关闭就等于停服务)。想做成开机自启,可把命令写成bat脚本放到启动项,或用NSSM工具注册成Windows服务。

七、验证是否真正可用(必须做)

  1. 打开MQTT客户端(MQTTX为例):
    • Host:填你电脑的局域网IP(CMD输入ipconfig查看,如192.168.1.100)或127.0.0.1
    • Port:1883
    • Client ID:随便写(如test_client)
    • 用户名/密码:如果没改默认,先空着或用guest/guest
  2. 点击连接,状态变绿就成功了。
  3. 再开一个客户端,一个订阅主题test/topic,另一个发布消息,能互相收到就完美。
  4. 本机测试用127.0.0.1,跨设备用局域网IP,并确保防火墙放行1883端口:
    • Windows防火墙→高级设置→入站规则→新建规则→端口→TCP 1883→允许连接。

八、常见问题快速排查

  • 启动报Java错误:检查JAVA_HOME和Path,重启CMD再试;确认是JDK不是JRE。
  • 端口被占用netstat -ano | findstr 1883查看占用进程,结束它或改端口。
  • 客户端连不上
    1. 服务是否真启动(看控制台有无报错)。
    2. 防火墙/杀毒软件拦截。
    3. 绑定地址是否写成了localhost而不是0.0.0.0。
    4. 检查apollo.xml有没有语法错误(XML标签要配对)。
  • 日志在哪看mybroker\log目录下的文件,报错信息基本都在里面。
  • 想停服务:在运行窗口按Ctrl+C,或执行apollo-broker.cmd stop

九、进阶小优化与避坑建议

  • 数据持久化:默认已经开启LevelDB存储,消息掉电不丢。重要主题可在配置里调整保留策略。
  • 性能微调:机器内存小的话,编辑apollo.xml降低JVM堆大小(通过启动脚本的JAVA_OPTS)。
  • 安全加强:加上SSL/TLS(需要证书)、限制连接IP、开启认证,避免公网直接暴露1883。
  • 备份:定期复制整个mybroker文件夹,尤其是dataetc
  • 多实例:可以在同一台机器创建多个broker,改不同端口即可。
  • 替代提醒:如果发现Apollo启动慢或功能不够,可无缝迁移到Eclipse Mosquitto(Windows有官方安装包,配置更简单)或EMQX(有Windows二进制,管理界面漂亮)。

按照上面从Java环境→下载→创建实例→改配置→启动→测试的顺序走,基本半小时内就能把Apollo MQTT在Windows上跑通。整个过程不需要复杂编译,全是解压+命令+改配置文件,对电脑小白也非常友好。装好后就可以接上你的传感器、ESP8266、手机APP或后端程序,开始玩真正的物联网消息推送了。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,1人围观)

还没有评论,来说两句吧...

目录[+]