试用Kong的管理后台Konga

简介

Konga 是 Kong 的一个开源的管理后台。

官方网站:https://github.com/pantsel/konga

安装

环境要求

确保已安装 npm 、node.js、bower。

下载 Konga 源码

git clone https://github.com/pantsel/konga.git

安装依赖

npm run postinstall && npm i

生成配置文件

cp .env.example .env

参考配置文件

.env 文件内容参考:

PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=konga
DB_DATABASE=konga
DB_PASSWORD=konga
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token

以上配置文件使用了本机的 MySQL 数据库。

执行数据库迁移

node ./bin/konga.js  prepare --adapter mysql --uri mysql://localhost:5432/konga

数据库中会生成 Konga 的相关表:

启动 Konga

npm run production

输出:

> kongadmin@0.14.9 production /www/wwwroot/konga
> node --harmony app.js --prod

(node:4108059) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:4108059) [DEP0095] DeprecationWarning: timers.enroll() is deprecated. Please use setTimeout instead.
(node:4108059) [DEP0126] DeprecationWarning: timers.active() is deprecated. Please use timeout.refresh() instead.
(node:4108059) [DEP0096] DeprecationWarning: timers.unenroll() is deprecated. Please use clearTimeout instead.

保持 Konga 在后台运行

在生产环境中,执行:

pm2 start app.js --name konga

输出:

│ id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 1   │ app    │ default     │ 0.14.9  │ fork    │ 4126729  │ 76s    │ 0    │ online    │ 0%       │ 94.1mb   │ www      │ disabled │
└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘