1、概述
Kong的功能已经足够强大,但很可惜,它的免费版是没有提供GUI界面的,通过CLI使用始终相对不便。于是,网上一些有志之士开发了相关的GUI界面。其中,做得比较好的有:
- Kong dashboard,https://github.com/PGBI/kong-dashboard,已经长期没有更新,只支持到Kong的0.9版本,目前Kong的最新版本是1.2.x
- Konga,https://github.com/pantsel/konga,功能完善,持续更新中
因此,我们采用了Konga作为Kong的GUI界面。
2、安装
Konga是使用NodeJS开发的项目,因此需要下载源码并安装。受网速影响,整个安装配置过程大约持续30~90分钟之间。
$ git clone https://github.com/pantsel/konga.git
$ cd konga
$ npm i
由于Konga依赖比较多,安装起来比较麻烦,尤其安装在CentOS等其他发行版的Linux更加复杂,可以把已经安装好的环境克隆过去,然后试试以下命令
$ npm rebuild node-sass
$ npm uninstall --save node-sass
$ npm install --save node-sass
$ npm cache clean
$ npm install --save node-sass
$ sudo npm install --unsafe-perm node-sass
3、配置
项目内已经提供了配置文件用例.env_example,复制为.env并修改配置项即可。
cp .env_example .env
gedit .env
关键的配置有PORT、DB_ADAPTER、DB_URI、DB_USER、DB_PASSWORD等。
4、数据库集成
Konga的持久化需要数据库支撑,可用的数据库有:
- MySQL
- MongoDB
- PostgresSQL
由于Kong本身使用了PostgresSQL数据库,所以Konga也使用PostgresSQL。Konga使用PostgresSQL时有些特别,需要用系统当前用户名,因此要以当前用户名创建DB管理员。具体原因未知,也可能哪里设置的问题。
$ sudo -u postgres createuser --superuser ubuntu
$ sudo -u postgres psql
postgres=# CREATE DATABASE konga OWNER ubuntu;
postgres=# \q
$ sudo -u ubuntu psql
ubuntu=# \password
# 此处设置密码
ubuntu=# \q
设置密码后,还需要修改数据库密码算法。
sudo vim /etc/postgresql/10/main/pg_hba.conf
把
host all all 127.0.0.1/32 md5
修改为
host all all 127.0.0.1/32 trust
然后重启数据库
sudo /etc/init.d/postgresql restart
5、数据库初始化
$ node ./bin/konga.js prepare [--adapter postgres --uri postgresql://localhost:5432/konga]
6、运行
根据个人喜好的方式,以npm命令运行
$ npm run production
或pm2命令运行(建议)
$ sudo npm i pm2 -g
$ pm2 start app.js --name konga
7、注册
用浏览器打开Konga地址,一般是http://localhost:1377,显示界面如下:
由于当前没有管理员,所以需要注册一个管理员。然后登录
8、建立链接
由于没有连接到Kong,因此需要新建一个到Kong的链接。
打开相应链接,看到如下界面:
左边是菜单栏,右边主界面显示了当前Kong的概要信息。点击菜单栏的相应项目,可以设置service和route等。
系列链接