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的安装的更多相关文章

  1. KAFKA 监控管理界面 KAFKA EAGLE 安装

    概述 Kafka Eagle监控系统是一款用来监控Kafka集群的工具,目前更新的版本是v1.2.3,支持管理多个Kafka集群.管理Kafka主题(包含查看.删除.创建等).消费者组合消费者实例监控 ...

  2. ##7.Dashboard web管理界面-- openstack pike

    ##7.Dashboard web管理界面 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Dashboard ...

  3. 【k8s部署kong一】kong k8s 安装 以及可视化管理界面

    官方安装:https://getkong.org/install/kubernetes/ 扩展讲解:https://blog.fleeto.us/post/intro-kong/ 提示:本文是在k8s ...

  4. 网关服务Kong和konga介绍安装使用教程

    介绍 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassa ...

  5. Linux安装完Tomcat后无法登陆管理界面

    今天在Linux中安装完Tomcat后无法登陆Tomcat的管理界面,也就无法利用Tomcat管理界面来部署项目. 在Windows中一般配置完Tomcat后,只要在[conf]目录下的“tomcat ...

  6. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  7. windows环境下安装rabbitmq及配置可视化管理界面

    1.环境 windows7 64位 rabbitmq3.7.9 erlang10.22.先安装erlang,后安装rabbitmq.下载地址: rabbitmq http://www.rabbitmq ...

  8. openWrt 安装管理界面luci中文包

    openWrt15安装管理界面luci中文包   如果刚刷的openwrt15没有中文界面,用ssh连接路由后用opkg安装     root@bang-bang-tang:~# opkg insta ...

  9. 小贝_redis web管理界面工具安装

    RedisWEB管理界面工具安装 一.概述 二.文件下载 三.安装过程 一.概述 1.因为redis是基于C/S的方式开发.也就是说,仅仅要满足于redis的client通信要求的,都能够作为redi ...

  10. RabbitMQ Server安装及显示管理界面Installing on Windows

    接上一篇文章,继续讲解 文件很小, 1.下载路径:http://www.rabbitmq.com/download.html 2.运行rabbitmq-server-3.6.5.exe,选择要安装的目 ...

随机推荐

  1. 第12章_MySQL数据类型精讲

    第12章_MySQL数据类型精讲 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. MySQL中的数据类型 类型 类型举例 整数类型 TINYINT. ...

  2. import.meta.globEager('./src/components/**/*.vue'); 遍历文件

    main.js const importAll = (modules) => { Object.keys(modules).forEach((key) => { const compone ...

  3. 【数据结构】C语言实现动态扩容数组

    // resizable array /* Think about a set of functions that provide a mechanism of resizable array of ...

  4. ubuntu切换root到user

    目前知道: 从root用户切回user用户有三种方法: 1.su user (user是你自己安装时候的用户名) 2.直接输入exit 3.ctrl+D组合键

  5. 说JS作用域,就不得不说说自执行函数

    一个兜兜转转,从"北深"回到三线城市的小码农,热爱生活,热爱技术,在这里和大家分享一个技术人员的点点滴滴.欢迎大家关注我的微信公众号:果冻想 前言 不得不吐槽,学个JS,这个概念也 ...

  6. PyQt5 GUI编程

    一.PyQt5简介 PyQt5是一个用于创建图形用户界面(GUI)应用程序的跨平台工具集,它将Qt库(广泛用于C++编程语言中创建丰富的GUI应用程序)的功能包装给Python使用者.PyQt5是由R ...

  7. .NET Emit 入门教程:第一部分:Emit 介绍

    前言: Emit 是开发者在掌握反射的使用后,进阶需要的知识,它能显著的改善因反射带来的性能影响. 目前能搜到的 Emit 的相关文章,都是一篇系列,通常推荐对照着反绎后的 IL 编写 Emit 代码 ...

  8. FreeRTOS教程10 低功耗

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  9. Could not create connection to database server.Attempted reconnect 3 times .Giving up 解决

    错误信息 Could not create connection to database server.Attempted reconnect 3 times .Giving up. message ...

  10. 金仓数据库kbcrypto 插件实现sm加密算法

    首先介绍一下sm4 算法 SM4 算法是对称加密算法,国标 GB/T 32907 对 SM4 对称加密算法进行了详细描述.SM4 算法密钥长度固定为128bit,加密解密采用相同的密钥,加解密速度较快 ...