使用的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. [POJ3468]关于整数的简单题 (你想要的)树状数组区间修改区间查询

    #include <cstdio> #include <algorithm> #include <cstring> #include <cctype> ...

  2. 统计学基础知识(一)---描述统计学(Descriptive Statistics)

    描述统计学(Descriptive Statistics):将数据的信息以表格, 图形或数值的形式进行汇总. 数据类型:分为定量数据(数值型数据)和定性数据(类别型数据).数值型数据又可以分为连续型和 ...

  3. 08-图8 How Long Does It Take (25 分)

    Given the relations of all the activities of a project, you are supposed to find the earliest comple ...

  4. nginx 常用全局变量

    变量 说明 $args 请求中的参数,如www.123.com/1.php?a=1&b=2的$args就是a=1&b=2 $content_length HTTP请求信息里的" ...

  5. MSSQL数据库 1000W数据优化整理

    GO SET STATISTICS TIME ON SELECT count([StyleId]) FROM [dbo].[Ky_Style] SET STATISTICS TIME OFF SET ...

  6. 第9期《jmeter接口自动化实战》零基础入门!

    2019年 第9期<jmeter接口自动化实战>课程,12月6号开学! 上课方式:QQ群视频在线教学 本期上课时间:12月6号-1月18号,每周五.周六晚上20:00-22:00 报名费: ...

  7. IIS基本设置、回收机制、性能、并发、安全性

    通常把站点发布到IIS上运行正常后,很少会去考虑IIS提供的各种参数,如何配置才是最适合当前站点运行需要的?这篇文章,从基本设置.回收机制.性能.并发.安全性等IIS设置讲解应当如何优化. 先来“II ...

  8. zookeeper(一) 原理

    参考文档:http://cailin.iteye.com/blog/2014486/ http://www.uml.org.cn/zjjs/201707282.asp?artid=19686 一.zo ...

  9. Delaunay和Voronoi

    什么是Delaunay三角剖分? 图1:Delaunay三角剖分偏爱小角度 给定平面中的一组点,三角剖分指的是将平面细分为三角形,这些点为顶点.在图1中,我们在左侧图像上看到了一组地标,在中间图像上看 ...

  10. MySQL与MariaDB核心特性比较详细版v1.0(覆盖mysql 8.0/mariadb 10.3,包括优化、功能及维护)

    注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载. MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baid ...