前言

当前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的数据库支持

  1. MySQL
  2. MongoDB
  3. 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↓]

最新文章

  1. ElasticSearch第二步-CRUD之Sense
  2. java基础1_标识符,数据类型
  3. Java基础系列——IO流
  4. MQTT——java简单测试(二)
  5. 『给它加个壳』纯MarkDown博客阅读体验优化
  6. Web服务器磁盘满故障
  7. Convert XML to Object using LINQ
  8. 简单粗暴下载Spring
  9. 20160308001 GridView的Sorting排序
  10. Spring的国际化资源messageSource
  11. Java 实现学生信息管理系统
  12. [实战经验]Macbook pro 苹果系统换window系统
  13. 解决Linux下zip文件解压乱码问题
  14. HDU1385 【输出字典序最小的最短路】
  15. 七牛云存储C#例用小例子 C#笔记
  16. eclipse安装反编译插件(附jad下载)
  17. npm5踩过的坑!
  18. linq 实现对象映射
  19. time_t time()
  20. 前端 HTML body标签相关内容 常用标签 换行标签 br

热门文章

  1. 浅谈,seata在使用feign-url通过域名调用时分布式事务不生效的问题及解决
  2. python实现布隆过滤器及原理解析
  3. Go基础结构与类型02---使用iota定义常量组
  4. mybatis-plus 分页查询+ dao层抽象
  5. 优雅关闭springboot应用
  6. Supervisor 开始
  7. Amazon SageMaker和NVIDIA NGC加速AI和ML工作流
  8. 马斯克如何颠覆航天? 1/5385成本,c++和python编程!
  9. jmeter链接mysql数据库
  10. 牛客网sql实战参考答案(mysql版):1-15