Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示
前不久我在 Mac 上成功安装了 mosquitto,这次我又试了试安装另一个热门的 broker —— Apache Apollo。对在 Mac 上安装 mosquitto 感兴趣的可以点击查看我的另一篇文章《Python:Mac 下 MQTT 服务器 Mosquitto 的配置》。
安装和运行 Apache Apollo
1. 下载文件 apache-apollo-1.7.1-unix-distro.tar.gz (网上搜一搜资源,我当时是在有人提供的百度云盘中下载的,现在找不到链接了)。
2. 解压在你习惯的位置。解压的文件夹中有一个 readme.html,双击打开是安装指南,我就是参照这个安装的,不过其中有些内容需要变通一下。
3. 打开终端,进入解压后的文件夹下的 bin 文件夹。(比如说我将解压文件放置在了 /Users/Zhenqi 文件夹下,所以我执行cd /Users/zhenqi/apache-apollo-/bin 。)
4. 执行 ./apollo create mybroker ,(可以取 mybroker 之外的名字),就会得到一个实例 mybroker 在 bin 文件夹下。运行结果如下。
5. 执行 ./mybroker/bin/apollo-broker run ,如显示以下界面就成功运行了。之后要再运行时也要再执行该命令,注意 path 的改变。
6. 打开浏览器,访问 https://127.0.0.1:61681/ 或 http://127.0.0.1:61680/ 就可以打开 Apollo 管理界面。输入默认用户名 admin 和密码 password,如下图。我在访问前一个 URL 时显示不安全,访问后一个就好了。
一个 Python 例子
在下载的文件中有很多不同语言的例子,在这里我就写一下我试验成功的一个 Python 例子。用到的两个 Python 文件的位置是 apache-apollo-1.7.1 > examples > stomp > python > stompest > sync ,两个文件分别是 listener.py 和 pusblisher.py。如下图所示。建议研究一下源代码便于理解。
这两个文件中都用到了 stompest 包,需要安装一下,建议将这个包安装在 python2 的库中,因为这两个文件是主要是 python2 的语法(如果运行python3 会报错,当然你也可以手动将所有错误修改)终端中执行 pip install stompest 。如果安装时报错,就在前面加上 sudo 试一试。
在一个终端界面中保持 apollo broker 的运行,并打开 apollo 管理界面(https://127.0.0.1:61681/ 或 http://127.0.0.1:61680/),操作如之前所述。
打开两个新的终端页面(快捷键 cmd + N),都进入 apache-apollo-1.7.1/examples/stomp/python/stompest/sync 位置,如下图。
将 Apollo 管理界面放在一旁置顶便于观察。
在后面新开的两个终端中的其中一个终端中执行 python listener.py ,终端不会有任何输出,该文件持续运行中,观察 Apollo 管理界面就能发现有了一个 topic,如下图所示。
这时候在另一个新开的终端中执行 python publisher.py ,你会观察到 Apollo 管理界面中 Topics 下 Consumers 由1变0,后两个终端也会有输出内容。效果如下动图。Apollo 管理界面中运行速度快,如果没有观察到变化,可以重复运行 listener.py 和 publisher.py,要先运行前者,你可以试一试先运行后者的效果便于理解。
Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示的更多相关文章
- OpenSSL证书生成及Mac上Apache服务器配置HTTPS(也适用centos)
自签名证书 配置Apache服务器SSL 自己作为CA签发证书 这里是OpenSSL和HTTPS的介绍OpenSSLHTTPS 开启HTTPS配置前提是已在Mac上搭建Apache服务器→Mac上Ap ...
- 如何在 Mac 上通过 Boot Camp 安装 Windows?
如何在 Mac 上通过 Boot Camp 安装 Windows? The following contents are chosen from the apple website, thanks f ...
- 在Mac上使用vundle自动安装vim插件,并用vim代替sourceinsight
一直以来在Mac上找不到好的代码阅读工具,最近根据网上的教程,自己总结一下,做了个在Mac的类sourceinsight的vim,感觉很好用.我不喜欢那种把vim搞的很复杂的配置,所以做了个仅仅能满足 ...
- mac上一键配置和安装adb驱动或者环境
最近才使用的mac,老实说mac上要配置adb的环境不那么复杂,但是还是会让一些心不细或者动手能力不强的同学望而却步.那么到底有没有一个一键完成mac上adb和fastboot环境搭配的软件或者脚本呢 ...
- 【转】如何在Mac上卸载Java及安装Java
如何在 Mac 上卸载 Java? 本文适用于: 平台: Macintosh OS X Java 版本: 7.0, 8.0 使用终端卸载 Oracle Java 注:要卸载 Java,必须具有管理员权 ...
- Mac上sonar插件的安装及使用
本文主要讲解sonar的安装及使用. 分为两个维度来讲解 1. 使用sonarqube以及自带的Derby数据库 2. 使用sonarqube以及配置mysql数据库 ---------------- ...
- Mac下Apache+MySQL+PHP安装
max下是自带有Apache和php的服务器的,不需要另外安装,本文就对相关配置进行介绍. 第一:Apache 在终端中输入,下面指令即可启动Apache服务器: //启动 sudo apachect ...
- Mac上使用Docker Desktop安装Kubernetes
下载镜像需要特殊手段,你懂的,如果没有特殊手段,建议放弃这种方式. 1 启用Kubernetes 启用过程,会联网下载kubenetes相关的核心组件镜像,如下是我下载好的: 下载好了,kubenet ...
- 在mac上使用tar.gz安装mysql
官方: download: https://dev.mysql.com/downloads/mysql/ mysql参考文档:https://dev.mysql.com/doc/ 环境: macOS ...
随机推荐
- Linux shell脚本中shift的用法说明
shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本). 示例1:依次读取输入的参数并打印参数个数:run ...
- python接口自动化-传 json 参数
一.post请求有两种方法传json参数: 1.传json参数(自动转 json ) 2.传data参数(需 json 转换) 代码参考: payload = { "Jodie": ...
- Ajax获取Response头信息
$.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ...
- 好程序员web前端分享HTML基本结构和基本语法
HTML基本结构和HTML基本语法 HTML基本结构 HTML的基本语法 1.<常规标记><标记 属性=“属性值” 属性=“属性值”></标记> 标记也可叫标签或叫 ...
- [LeetCode] 19. 删除链表的倒数第N个节点
题目链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 题目描述: 给定一个链表,删除链表的倒数第 n 个节点, ...
- FreeHttp (a fiddler add in to temper the http)
introduction FreeHttp is a Fiddler plugin. With FreeHttp you can modify the request or response mess ...
- Python中的函数定义方法
def test(x): "hjkasgd" x += 1 return x def——定义函数的关键字 test——函数名 ()——内可定义形参 ""——文档 ...
- Python基础:数据类型-列表与元组(6)
Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...
- springboot aop 拦截接口执行时间
/** * @description: 记录接口执行时间日志的记录 * @author: * @create 2018-12-27 16:32 */ @Target(ElementType.METHO ...
- sts 创建springMVC项目---- maven和tomcat 错误处理
今天学习spring的时候,学到了springMVC, 因为springMVC 就是beginning spring 书籍的第三章,为了更深入或更简单的起步学习springMVC, 我又找了另外一本书 ...