使用的apollo,官网太慢,附上百度云下载地址:

链接:https://pan.baidu.com/s/1NIq6R71hlyPuaUBwPoMPNg
提取码:36vw

原文链接:https://blog.csdn.net/yangsong4353/article/details/87967561

需要注意的是想要在宿主机上访问,需要修改

Apollo监控页面配置

  vi /opt/apollo/mybroker/etc/apollo.xml

  修改 
  http://127.0.0.1:61680“/> 
  https://127.0.0.1:61681“/> 
  为 
  http://0.0.0.0:61680“/> 
  https://0.0.0.0:61681“/>

MQTT服务器尝试过两种,一种是 Mosquitto、另一种是 Apollo,本次记录Apollo 在CentOS 7.6 linux 下的安装和测试。

Apollo下载地址: http://activemq.apache.org/apollo/versions/1.7/website/download.html

下载后的文件放置在Downloads文件夹下,对此压缩包进行解压。

有可能需要进入root权限,输入su,之后输入密码,进入root权限。

解压: tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz

由于搭建 Apollo 环境变量需要有 JAVA_HOME,这个时候需要确认下系统中是否已经安装有jdk。

确认办法为输入命令: java -version,如有回复类似如下,则说明环境中已经有了jdk。

此版本的linux 系统中默认就有此,无需另外安装。如果没有,在参考其他文章安装jdk。

进入apache-apollo-1.7.1/bin目录,输入命令  cd /Downloads/apache-apollo-1.7.1/bin目录

创建一个Broker示例:./apollo create broker1。注意最前面有个“.”,创建成功后,会有如下提示:
Creating apollo instance at: mybroker
Generating ssl keystore...
You can now start the broker by executing:  
"xxx/apache-apollo-1.7.1/bin/broker1/bin/apollo-broker" run
Or you can setup the broker as system service and run it in the background:
sudo ln -s "xxx/apache-apollo-1.7.1/bin/broker1/bin/apollo-broker-service start"

提示内容是告知如何启动broker。

创建完成后,会在/Downloads/apache-apollo-1.7.1/bin目录下,创建了一个broker1的文件夹。

进入到此目录后,会看到有如下文件夹:

进入到bin目录下,输入命令 ./apollo-broker run,启动broker。

出现这个界面即表示启动成功。

之后查看打印信息即可知道MQTT要连接的端口和管理页面端口。

然后打开Ubuntu浏览器,输入 http://127.0.0.1:61680/ 或 https://127.0.0.1:61681/, 即可进入 Apollo Console 窗口。

用户名和密码在 etc/users.properties文件中。默认用户名和密码为 admin 和 password。

配置
配置文件在 broker1/etc 文件中。具体说明可以参考 http://activemq.apache.org/apollo/versions/1.7/website/index.html 中的User Manual 章节。

简要介绍如下:

apollo.xml

此文件中设置了IP地址和端口号,设置访问用户组和访问权限。默认情况下,需要用户名和密码登陆网页,同时,MQTT设备连接服务器,也需要用户名和密码,默认情况下和登陆网页的相同。

如果需求其他用户名和密码,则需要在users.properties中增加用户名和密码,在groups.properties中增加users组,并在组中增加在users.properties中增加的成员。之后就可以使用新增加的用户名和密码进行登录。示例如下

如果想不需要用户名和密码登录,则按照如下方式修改即可。

<authentication enabled="false"/> 
 <!--<access_rule allow="users" action="connect create destroy send receive consume"/> -->

对外连接的端口号也可以在这个文件中进行修改。

black-list.txt

黑名单,可以将不需要的IP地址写入到这个文件中

log4j.properties

输出log配置,输出的log文件在log文件夹中

测试
配置完成后,可以对搭建好的服务器进行测试。

先在局域网进行测试。 在linux终端中输入 ifconfig 命令,查看本地ip地址。记录。

测试工具使用paho。下载地址
https://pan.baidu.com/s/1veYDXA3Pgu1liOAkATsfuQ 密码:8ljd  或  https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/
根据链接下载,打开paho for eclipse 文件夹中的 64位/paho.exe。如图:

打开软件

在服务器地址的位置,输入刚刚查到的地址,“:”后为端口号,根据启动apollo时提示的的端口号进行输入。默认的端口号是61613,我这里因为修改了配置文件,所以是1883。

之后点击 连接,如果能够连接上,说明成功了。

修改防火墙
实测,不成功,卡死在连接的那个状态了。

莫急莫急。通过查找发现,是因为linux防火墙开启,导致端口不能访问的原因。

查看默认防火墙状态使用命令: firewall-cmd --state (关闭后显示notrunning,开启后显示running)

1

2

[root@localhost ~]#firewall-cmd --state

not running

如果出现的是 running,那么就是这个原因导致不能连接服务器了。关闭防火墙可以参考文章 https://www.cnblogs.com/zhangzhibin/p/6231870.html 或 https://www.jianshu.com/p/dd663cb4affa

我使用的是下面的两个命令关闭防火墙。关闭之后,就可以正常使用啦。

systemctl stop firewalld.service    #停止firewall
systemctl disable firewalld.service   #禁止firewall开机启动

稳妥一点的话,可以开启防火墙特定的端口,以免整个服务器收到攻击。这个设置如下。

启动防火墙服务:systemctl start firewalld.service

在开机时启用服务:systemctl enable firewalld.service

查看已经开放的端口: firewall-cmd --list-ports 。 如果有开放的会列举出来,如果没有则只显示一个空白行。

开启端口: firewall-cmd --zone=public --add-port=1883/tcp --permanent

命令含义:

–zone  #作用域

–add-port=1883/tcp  #添加端口,格式为:端口/通讯协议

–permanent   #永久生效,没有此参数重启后失效

重启防火墙:  firewall-cmd --reload。

至此,就可以安心的使用服务器啦。

补充说明防火墙命令:

查看防火墙状态: firewall-cmd --state

启动一个服务:systemctl start firewalld.service

关闭一个服务:systemctl stop firewalld.service

重启一个服务:systemctl restart firewalld.service

显示一个服务的状态:systemctl status firewalld.service

在开机时启用一个服务:systemctl enable firewalld.service

在开机时禁用一个服务:systemctl disable firewalld.service

查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?

查看已启动的服务列表:systemctl list-unit-files|grep enabled

查看已经开放的端口: firewall-cmd --list-ports

开启防火墙端口: firewall-cmd --zone=public --add-port=80/tcp --permanent

关闭防火墙端口: firewall-cmd --remove-port=3000/tcp --permanent

重启防火墙:  firewall-cmd --reload

搭建mqtt服务器apollo的更多相关文章

  1. 快速搭建MQTT服务器(MQTTnet和Apache Apollo)

    前言 MQTT协议是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分,http://mqtt.org/. MQTT is a machine-to-machine (M2M)/" ...

  2. mqtt服务器apollo的搭建和测试工具paho的使用

    (1)前言 MQTT协议是IBM开发的一个即时通讯协议; 基于发布/订阅的消息协议,近些年来被广泛应用于能源.电力.....等硬件性能低下的远程设备,此外国内很多企业使用MQTT作为android手机 ...

  3. MQTT再学习 -- 搭建MQTT服务器及测试

    最近在搞 PM2.5 采集,需要用到 MQTT 传输协议.协议部分看了几天的,讲的七七八八.本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上.不 ...

  4. 转 【MQTT】在Windows下搭建MQTT服务器

    MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供 ...

  5. 使用EMQ搭建MQTT服务器

    前言寒假的时候开始搭建mqtt服务器,一开始使用的是RabbitMQ,基于Erlang语言.但是RabbitMQ的本职工作是AMQP,MQTT只是他的一个插件功能,似乎有些大材小用,很多MQTT的功能 ...

  6. 搭建MQTT服务器

    MQTT协议简介 MQTT 是一个基于发布/订阅模式的消息传输协议.它具有轻量级.开放.简单,易于实现,通信带宽要求低等特点.这些特点使得它对机器与机器的通信(M2M)以及物联网应用(IoT)来说是很 ...

  7. 常见MQTT服务器搭建[转载]

    简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...

  8. MQTT服务器的搭建(Windows平台)

    人工智能.智能家居越来越火,在服务器和多个终端进行通信的过程中使用传统的请求/回答(Request/Response)模式已经过时,伴随而来的是发布/订阅(Publish/Subscribe)模式-- ...

  9. 常见MQTT服务器搭建与试用

    常见MQTT服务器搭建与试用   简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠 ...

随机推荐

  1. React Virtual DOM Explained in Simple English

    If you are using React or learning React, you must have heard of the term “Virtual DOM”. Now what is ...

  2. GoogleUpdate计划任务提权

    1.默认低权限无法写入: 2.配置低权限可操控:icacls Update /grant everyone:f 3.下载可执行程序:certutil -urlcache -split -f http: ...

  3. PinPoint使用教程

    选择该应用的展示边界 InBound:3 OutBound:3 基本概念 APM (Application Performance Management/应用性能管理)工具 为大规模分布式系统. 开发 ...

  4. C程序运行原理

    计算机不能直接识别和执行高级语言写的命令,必须用编译程序(也称编译器)把C源程序翻译成二进制形式的目标程序,然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可执行的目标程序 C语言的编译 ...

  5. pipelinewise 学习二 创建一个简单的pipeline

    pipelinewise 提供了方便的创建简单pipeline的命令,可以简化pipeline 的创建,同时也可以帮我们学习 生成demo pipeline pipelinewise init --n ...

  6. 用于 Quinella/Exacta/Trifecta/Pick Four/Pick Six/Quaddie/Superfecta 7大规则的测试

    上2篇给了详细API 设计,下面我们来模拟测试下: Quinella: self.bet_type = "Quinella" self.nraces = 1 self.horse_ ...

  7. 洛谷 p1968 美元汇率 题解

    传送门 美元由马克转化,马克由美元转化 求最大美元 每一天只有2种选择 ①:不转化另一货币 ②:转化另一货币 典型01背包 可以开一个二维数组f[100][3] F[i][1]表示前i天获得最大美元 ...

  8. 系统权限远程线程注入到Explorer.exe

    目录 提升为系统权限,注入到explorer中 一丶简介 二丶注入效果图 提升为系统权限,注入到explorer中 一丶简介 我们上一面说了系统服务拥有系统权限.并且拥有system权限.还尝试启动了 ...

  9. java8 新特性parallelStream 修改默认多线程数量

    parallelStream默认使用了fork-join框架,其默认线程数是CPU核心数. 通过测试实践,发现有两种方法来修改默认的多线程数量: 1.全局设置 在运行代码之前,加入如下代码: Syst ...

  10. mvn常见参数命令讲解

    关于-N -N,--non-recursive Do not recurse into sub-projects 意思是,不递归到子项目(子模块). 举例: 一个父项目下Father面有3个子项目A. ...