kong管理界面konga的安装
kong网关自身的管理界面属于付费的应用,而第三方界面又非常少,konga算是相对比较好的一款了,虽然也有一些问题,但整体的功能还比较全,github仓库为:https://github.com/pantsel/konga,konga支持两种方式部署分别是docker和nodejs原生部署,下面将依次写一下
不管哪种方式部署,都推荐将相关的信息持久化,建议生产环境使用数据库保存信息,我们这里和kong一样统一使用postgresql来保存配置信息,下面分为3步来叙述:分别是数据库设置、docker方式运行、nodejs原生方式运行,注意运行方式只能选1种,不能两种方式都用
1. 数据库设置
首先登录进postgresql交互控制台,然后执行下面的语句创建konga的数据库并授权用户:
CREATE ROLE konga LOGIN PASSWORD 'konga123456';
CREATE DATABASE konga OWNER konga;
这里创建的数据库:konga,用户:konga,密码:konga123456
然后编辑pgsql数据目录下的pg_hba.conf设置用户访问权限:
host konga konga 0.0.0.0/0 md5
因为可能待会docker方式启动的时候由于容器内的ip和外面不相同,避免连接pgsql被拒绝,因此CIDR这里设置0.0.0.0/0临时允许全部的来源访问,保存配置后,重启postgresql服务,数据库配置完毕
2. docker方式运行konga
为了提高拉取镜像的速度,可以配置国内的docker镜像源,比如网易的,这个设置不再详细叙述;另一种方法可以为docker设置代理访问也可以加快速度,首先设置环境变量:
export http_proxy=http://192.168.0.112:1080
export https_proxy=http://192.168.0.112:1080
然后在docker启动时直接添加参数--http-proxy=true即可自动使用环境变量中的代理,默认这个参数是false
上面是设置代理的方式,可以选择性使用,使用下面的命令可以启动一个不依赖数据库的容器:
docker run -p 1337:1337 --name konga -e "NODE_ENV=production" --http-proxy=true pantsel/konga
第一次运行会自动去镜像源拉取镜像,然后启动容器,之后再启动就不需要再加--http-proxy参数了,也可以通过本地运行的容器中恢复: docker start <容器ID> ,上面这种方式启动是将配置保存到了文件中,如果本地的容器删除了,下次再从镜像启动的时候所有数据都没有了,会非常麻烦,因此选择使用外部的postgresql数据库,使用之前需要先初始化数据库,命令如下:
docker run pantsel/konga -c prepare -a postgres -u postgresql://konga:konga123456@192.168.28.128:5432/konga
执行完之后可以发现所有的数据表都创建好了,然后启动容器:
docker run -p 1337:1337 -e "TOKEN_SECRET=699a85ee59a1" -e "DB_ADAPTER=postgres" -e "DB_HOST=192.168.28.128" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga123456" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga
其中TOKEN_SECRET是一串密钥,可以自己随机生成,其余的都是数据库的配置,如果感觉上面这个参数太多也可以直接使用参数DB_URI指定一个全的url即可,和初始化数据库那个类似;另外如果刚才用konga名称启动过容器,可能再次启动会报错name已经存在,需要先执行: docker rm <容器ID> 删除刚才的容器,然后再运行即可,容器正常启动后,就可以访问浏览器,访问:http://<ip>:1337,即可打开初始的页面:

然后填写用户名、邮件、密码信息,点击CREATE ADMIN,创建管理账户,然后会自动跳转到登录界面,这里可能会存在一个bug就是页面没有跳转成功怎么刷新都是空白,这种情况下可以尝试Ctrl+F5强制刷新页面或者是直接清空最近的记录、cookie等再次刷新页面即可进入登录界面,我自己测试是83一下的chrome内核会有这个问题,而84以上的不会有,这是konga本身的一个问题,如果碰到了注意一下

然后输入用户名和密码,登录管理系统即可

默认会提示输入kong admin api的url,正常输入然后创建连接即可,然后就可以看到完整的管理模块了,需要注意的是默认情况下kong admin api为了保证安全,监听的网卡为127.0.0.1,需要在配置文件中改成实际的网卡ip,这样这里才可以连接成功,不过这样又引入新的安全问题,要解决这个问题可以采用kong的自校验完成,这类不再详细说了,很简单,可以自己探索配置一下
3. nodejs方式运行konga
最后一种方式是使用nodejs直接在系统上运行konga,首先要安装nodejs相关的包:
yum install nodejs
安装之后就有了npm相关的工具,然后克隆kong的源码:
git clone https://github.com/pantsel/konga.git
cd konga
当然也可以自行去github下载指定版本的源码包,上传到服务器上使用也一样,然后自动下载相关的依赖:
npm i
如果依赖下载超时或者失败,同样也可以配置代理来提速,默认的npm包注册url是:https://registry.npmjs.org,所以只需要配置一下https代理即可:
npm config set https-proxy http://192.168.0.112:1080
# 查看代理配置
npm config get
然后即可开始下载,完成之后会有提示:

提示的这些漏洞可以暂时不关心,现在代理就算用完了,可以删除一下:
npm config delete https-proxy
除了设置代理的方式,也可以使用国内的npm源,比如阿里云的,但是这个我自己没有测试,先放个链接:https://developer.aliyun.com/mirror/NPM?from=tnpm
然后可以执行命令开始初始化数据库,注意数据库和用户要先按照第一步进行创建和授权,然后执行下面命令初始化数据库:
node ./bin/konga.js prepare --adapter postgres --uri postgresql://konga:konga123456@192.168.28.128:5432/konga
默认运行的时候读取的配置文件是:.env,可以配置比如绑定地址和端口,数据库连接等配置,默认当前目录下存在一份.env_example,可以拷贝出来: cp .env_example .env ,然后按照实际的配置进行修改,我这里配置如下:
PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
DB_URI=postgresql://konga:konga123456@192.168.28.128:5432/konga
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token
配置完成之后保存,注意DB_URI中用户名密码等要写全,其他的配置项就不用再配置了,否则会出现很多麻烦的用户错误问题,konga这里处理的非常糟糕,吐槽一下参数配置真是太烂了O(∩_∩)O,最后执行下面的命令启动konga:
npm run production
# 或者是
npm start
然后可以打开浏览器测试访问,如果出现上面的问题仍然尝试清空的缓存来解决,如果还是不行可以尝试运行下面的命令补充依赖:
npm run bower-deps
补充完依赖后再次启动尝试,上面两个命令都试一下,一般就可以了,然后登录页面,连接kong admin api,其他的操作都一致了
上面就是konga的两种安装运行方式,极力推荐使用docker运行,而本地的方式运行可能会出现一些莫名其妙的问题需要花费时间调试,docker的方式可维护性更好,如果有其他问题,欢迎交流~
kong管理界面konga的安装的更多相关文章
- KAFKA 监控管理界面 KAFKA EAGLE 安装
概述 Kafka Eagle监控系统是一款用来监控Kafka集群的工具,目前更新的版本是v1.2.3,支持管理多个Kafka集群.管理Kafka主题(包含查看.删除.创建等).消费者组合消费者实例监控 ...
- ##7.Dashboard web管理界面-- openstack pike
##7.Dashboard web管理界面 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Dashboard ...
- 【k8s部署kong一】kong k8s 安装 以及可视化管理界面
官方安装:https://getkong.org/install/kubernetes/ 扩展讲解:https://blog.fleeto.us/post/intro-kong/ 提示:本文是在k8s ...
- 网关服务Kong和konga介绍安装使用教程
介绍 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassa ...
- Linux安装完Tomcat后无法登陆管理界面
今天在Linux中安装完Tomcat后无法登陆Tomcat的管理界面,也就无法利用Tomcat管理界面来部署项目. 在Windows中一般配置完Tomcat后,只要在[conf]目录下的“tomcat ...
- Solr7 安装部署 管理界面介绍
Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...
- windows环境下安装rabbitmq及配置可视化管理界面
1.环境 windows7 64位 rabbitmq3.7.9 erlang10.22.先安装erlang,后安装rabbitmq.下载地址: rabbitmq http://www.rabbitmq ...
- openWrt 安装管理界面luci中文包
openWrt15安装管理界面luci中文包 如果刚刷的openwrt15没有中文界面,用ssh连接路由后用opkg安装 root@bang-bang-tang:~# opkg insta ...
- 小贝_redis web管理界面工具安装
RedisWEB管理界面工具安装 一.概述 二.文件下载 三.安装过程 一.概述 1.因为redis是基于C/S的方式开发.也就是说,仅仅要满足于redis的client通信要求的,都能够作为redi ...
- RabbitMQ Server安装及显示管理界面Installing on Windows
接上一篇文章,继续讲解 文件很小, 1.下载路径:http://www.rabbitmq.com/download.html 2.运行rabbitmq-server-3.6.5.exe,选择要安装的目 ...
随机推荐
- manjaro/archLinux出现什么的签名未知信任的时候
sudo pacman -S archlinuxcn-keyring 在进行该做的就可以了 出现这种状况的原因是没有规范的更新系统!
- P2670 [NOIP2015 普及组] 扫雷游戏
题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏.在 nn 行 mm 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格).玩家翻开一 ...
- day03-模块化编程
模块化编程 1.基本介绍 传统的非模块化开发有如下的缺点:(1)命名冲突(2)文件依赖 JavaScript代码越来越庞大,JavaScript引入模块化编程,开发者只需要实现核心的业务逻辑,其他都可 ...
- [极客大挑战 2019]web部分题解(sql部分已完结,其他部分正在更新,出去吃个饭先)
[极客大挑战 2019]BabySQL 打开环境后有登录界面◕‿◕ 一眼注入,后先试试万能密码: username:admin' or '1'='1 password:1 GG,出大问题,我就会这一招 ...
- FFmpeg开发笔记(五)更新MSYS的密钥环
<FFmpeg开发实战:从零基础到短视频上线>一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令. pacman -S mingw-w6 ...
- MySQL 汉字字段 拼音排序
原数据 排序后 SELECT c1 FROM test ORDER BY CONVERT ( c1 USING gbk )
- KingbaseES flashback drop table
KingbaseES 引入回收站功能,实现drop table操作的数据恢复.回收站功能默认关闭,参数名称:kdb_flashback.db_recyclebin.如果不允许一个删除的表进回收站,需要 ...
- Scala 不可变列表List
1 package chapter07 2 3 object Test04_List { 4 def main(args: Array[String]): Unit = { 5 // 1. 创建一个L ...
- 14 CSS列表属性和display属性
14 列表属性和display属性 列表属性 CSS中提供了一些列表属性可以用来: (1).设置不同的列表项标记为有序列表 (2).设置不同的列表项标记为无序列表 (3).设置列表项标记为图像 lis ...
- #贪心,树#C 平衡的树
分析 处理出子树内剩余删减以及最大的剩余\(a\)和, 如果删了还是超过\(b\)输出无解 代码 #include <cstdio> #include <cctype> #de ...