kong的管理UI选择-konga
前言:
当前KONG的社区版是没有dashboard的,但是付费的企业版是有带的。
GitHub上开源且还在更新维护的dashboard有两个:
- kong-dashboard:Kong Dashboard 3.3.0 is only partially compatible with Kong 0.13. It does not support the new Service and Route objects introduced in Kong 0.13.
- konga:From 0.14.0 onwards, Konga is ONLY compatible with Kong >= 1.0.0
根据GitHub说明得知:
kong-dashboard最新版本v3.6.0,只能支持到kongv0.14.x,对于kong的更高版本,功能支持不齐全;
konga从0.14.0开始,仅与Kong> = 1.0.0兼容。Konga 0.12+与Kong 0.14+完全兼容。较早的Kong版本仍然兼容,但不能保证。
虽然,市面上kong-dashboard应用比较广泛,但kong的功能不断强大,伴随着版本更替,个人觉得还是使用支持及更新高效的kongaUI比较好。
npm方式安装
依赖:
- 安装npm
- node: version >= 8.x
lib库:
- Sails.js
- AngularJS
1. 准备依赖环境
Install npm and node.js
wget -P /app/tools/ https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
tar -xf /app/tools/node-v8.11.3-linux-x64.tar.xz -C /opt/
cd /opt/
mv node-v8.11.3-linux-x64 nodejs
chown -R root.root nodejs
#echo 'export PATH=$PATH:/opt/nodejs/bin' >> /etc/profile
#source /etc/profile
ln -s /opt/nodejs/bin/node /usr/local/bin/
ln -s /opt/nodejs/bin/npm /usr/local/bin/
Install bower, ad gulp packages
# 如果下载慢,可以修改npm源:$ npm --registry https://registry.npm.taobao.org info underscore
npm install -g gulp
npm install -g bower
npm install -g sails
npm install -g unirest
验证一下版本
node -v
npm -v
2. 安装konga
2019/12/6 更新:
由于我们的kong是社区版 kong-community v1.1.2,最新版本UI - konga v0.14.7在连接kong之后产生不兼容的情况(字段:Https redirect status code),因此,我们改用了可兼容的konga v0.14.1版本,版本对比并无重大变化,所以并不影响我们的学习和使用。
至于,UI - konga v0.14.7是否可兼容kong的最新版v1.4.1,并未验证。
如果你的kong版本的最新的v1.4.x,仅需要忽略下面git相关操作即可。
cd /opt/
git clone https://github.com/pantsel/konga.git
cd konga
# git checkout v0.14.1-1 # Git报错:your local changes to the following files would be overwitten by merge
#git stash
#git pull origin master
#git stash pop
#git pull origin master
#git add .
#git commit -m "Enable branch 0.14.1"
git checkout -b v0.14.1-1 0.14.1
git checkout v0.14.1-1
git branch -a
git describe --tags
npm install konga # 如果报`permission denied`相关错误, $ npm install konga --unsafe-perm=true --allow-root
npm i pm2 -g
安装依赖
npm run bower-deps
npm install dotenv-extended
npm install angular
3. 配置
项目内已经提供了配置文件用例.env_example,复制为.env并修改配置项即可。
关键的配置有PORT、DB_ADAPTER、DB_URI、DB_USER、DB_PASSWORD等。
cp .env_example .env
$ vim .env,根据自身环境修改,默认配置如下:
PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
#DB_HOST=127.0.0.1
#DB_PORT=5432
#DB_USER=konga
#DB_PASSWORD=konga
#DB_DATABASE=konga
DB_URI=postgresql://konga:konga@localhost:5432/konga
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token
4. 环境变量(more)
5. 数据库
配置
konga的数据库支持:
- MySQL
- MongoDB
- PostgreSQL
为了使用它们,请在.env文件中设置适当的环境变量。
我选用的是PostgreSQL,版本建议9.6,过高可能出现不兼容状况。为了保障一切顺利进行,pgsql的部署可参考[postgresql安装及配置]
[root@sltkp3cbpch konga]# su - postgres
Last login: Wed Nov 27 16:39:27 CST 2019 on pts/0
-bash-4.2$ psql
Password:
psql (10.11)
Type "help" for help.
postgres=# create user konga with password 'konga';
CREATE ROLE
postgres=# create database konga owner konga;
CREATE DATABASE
postgres=# grant all privileges on database konga to konga;
GRANT
postgres=#
重启生效
systemctl restart postgresql-9.6
初始化/迁移
如果连接的是MySQL或PostgresSQL,则在生产模式下运行时,Konga将不会执行数据库迁移。
您可以通过调用$ node ./bin/konga.js prepare 传递数据库连接所需的args 来手动执行迁移。
node ./bin/konga.js prepare --adapter postgres --uri postgresql://konga:konga@127.0.0.1:5432/konga
6. 运行
启动:
# 官方启动方式
nohup npm run production &
# 其他启动方式(建议使用):
pm2 start app.js --name konga
pm2 start npm --name 'konga' -- run production
如果在启动时报erro,可以根据日志提示进行修复 /root/.npm/_logs/”date“-debug.log
登录验证:
用浏览器打开Konga地址,一般是http://localhost:1337,显示界面如下:
由于当前没有管理员,所以需要注册一个管理员。

完成登录后,由于没有连接到Kong,因此需要新建一个到Kong的链接

Docker方式安装
待整理,由于使用了npm方式,这里就不细写了;
比npm简单方便,以下提供两个参考连接:
关于Kong-Dashboard
由于本人选用UI为konga,需要kong-dashboard的资源请访问【GitHub】kong-dashboard
[sleepy↓]
kong的管理UI选择-konga的更多相关文章
- Kong管理UI -kong-dashboard
本文仍然是在ubuntu18的环境下进行 https://github.com/PGBI/kong-dashboard kong dashboart如果要正常使用管理UI,前提为kong已经正常run ...
- Kong管理UI -kong-dashboard (附kong封装webservice方法)
本文仍然是在centos 6.7的环境下进行 本文转载请注明出处 —— xiaoEight btw如果要正常使用管理UI,前提为kong已经正常run(可参考)起来,此 ...
- 后台管理UI皮肤的选择
后台管理UI的选择 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十. ...
- Docker部署Portainer搭建轻量级可视化管理UI
1. 简介 Portainer是一个轻量级的可视化的管理UI,其本身也是运行在Docker上的单个容器,提供用户更加简单的管理和监控宿主机上的Docker资源. 2. 安装Docker Doc ...
- 移动前端UI选择
移动前端UI选择 目录 三.SUI Mobile 一.jQuery Mobile jQuery Mobile 是jQuery在移动设备上的版本,做为主要针对移动设备的框架来说,它提供一个移动设备平 ...
- 后台管理UI
后台管理UI 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十.Lig ...
- Kerrigan:配置中心管理UI的实现思路和技术细节
去年写过一篇文章『中小团队落地配置中心详解』,介绍了我们借助etcd+confd实现的配置中心方案,这是一个对运维友好,与开发解耦的极佳方案,经过了一年多的实践也确实帮我们解决了配置文件无版本.难回滚 ...
- 后台管理UI的选择
最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容I ...
- 转:后台管理UI的选择
注:文中缺少了ZUI和LAYUI两个. 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.I ...
随机推荐
- 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 最近接个任务,用webhook做了个代码提交监听功能,就是有人 ...
- CUDA功能和通用功能
CUDA功能和通用功能 本文描述了类似于CUDA ufunc的对象. 为了支持CUDA程序的编程模式,CUDA Vectorize和GUVectorize无法产生常规的ufunc.而是返回类似ufun ...
- 开发掉坑(一)tar命令解压文件覆盖源文件
今天在编译机上编译前端代码,报了找不到依赖的异常.检查后发现是node_modules/.bin下少了一些文件. 一开始疑惑为什么本地能成功生成软链在node_modules/.bin,服务器上面却不 ...
- 重新整理 mysql 基础篇————— mysql 事务[三]
前言 简单整理一下事务. 正文 事务有四大特性: 1.原子性(atomicity) 一个事务必须被视为一个不可分割的最小单元. 2.一致性(consistency) 数据库总是从一个一致性的状态转换到 ...
- QT基本数据类型
因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定义在#inclu ...
- 十、构建memcached服务
装包-------配置----起服务---验证 装包: [root@proxy ~]# yum -y install memcached //安装软件包memcached [root@ ...
- 【渗透实战】那些年我们遇到的奇葩WAF_第一期_请求方式绕过
/文章作者:Kali_MG1937 CSDN博客:ALDYS4 QQ:3496925334/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何被顶上博客首页 为了避 ...
- docker安装及卸载
docker基本组成 镜像(image): docker镜像好比一个模板,可以通过这个模板创建容器服务,例如:tomcat镜像===>run===>tomcat01容器(提供服务器) 通过 ...
- VBS脚本编程(1)——数据类型、变量和常量
数据类型 VBS只有一种数据类型,称为Variant.而该类型是可变的,以下是Variant的子类型: 子类型 描述 Empty 未初始化的Variant.对于数值变量,值为0:对于字符串变量,值为零 ...
- 『心善渊』Selenium3.0基础 — 9、使用Seleniun中的By类定位元素
目录 1.使用By定位的前提 2.By定位的方法 3.By定位的使用 4.复数形式的示例 我们还可以通过Seleniun测试框架中的By类,来实现页面中的元素定位. 1.使用By定位的前提 需要导入B ...