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. Java基础知识篇02——Java基本语法

    一.数据类型 定义: 就是用了保存数据的一个类型,一种数据类型,只能保存该类型数据值 作用: 只有了解数据类型,才能选择合适的类型存放数据,才能更好的利用计算机硬件资源(内存和硬盘等). 不同的数据类 ...

  2. 结构体、共用体与C++基础

    结构体.共用体与C++基础 1.结构体 结构体是C编程中一种用户自定义的数据类型,类似于Java的JavaBean //Student 相当于类名 //student和a 可以不定义,表示结构变量,也 ...

  3. Django:Nginx 启动,无法加载样式,无法加载静态文件

    一般是由于 Nginx 配置文件的问题 # 编辑 Nginx 配置文件 vim /etc/nginx/nginx.conf # 如果出现下面这个 use nginx 就需要改成 use root 保存 ...

  4. .NET Core使用 CancellationToken 取消API请求

    您是否曾经访问过一个网站,它需要很长时间加载,最终你敲击 F5 重新加载页面. 即使用户刷新了浏览器取消了原始请求,而对于服务器来说,API也不会知道它正在计算的值将在结束时被丢弃,刷新五次,服务器将 ...

  5. 3DCAT 首届行业生态交流会 | 瑞云科技技术总监赵志杰:实时渲染助力元宇宙应用触手可及

    2021 年 12 月 17 日下午,由深圳市瑞云科技有限公司主办,深圳市虚拟现实产业联合会协办的云 XR 如何赋能元宇宙--3DCAT实时云渲染首届行业生态合作交流会圆满落幕.此次活动围绕 &quo ...

  6. python高级技术(进程二)

    一 进程对象及其他方法 '''一台计算机上面运行着很多进程,那么计算机是如何区分并管理这些进程服务端的呢?计算机会给每一个运行的进程分配一个PID号如何查看 windows电脑 进入cmd输入task ...

  7. 01.Android之基础组件问题

    目录介绍 1.0.0.1 说下Activity的生命周期?屏幕旋转时生命周期?异常条件会调用什么方法? 1.0.0.2 后台的Activity被系统回收怎么办?说一下onSaveInstanceSta ...

  8. 记录--iview 使用爬坑

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间公司需要开发一个后台管理系统,时间比较急迫,一两天时间.想一想自己一点一点的搭建起来可能性不太大,就想着有没有现成的可以改一改,就 ...

  9. 快速上手系列:HTML

    一 HTML 基本元素 基本结构 <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  10. LOTO示波器_从零开始手把手测电源开环增益/电源环路频响曲线/PSM

    我们之前有篇文章从理论到实践演示了如何测量电源环路的开环增益曲线,不过偏重于理论和原理,没有很多细节的展现,所以这片文章从另外的角度,从零基础开始,手把手一步一步演示如果进行实操测试. 之前的那篇文章 ...