API網(wǎng)關(guān)Kong使用指南(二)—— Konga安裝

1、概述

Kong的功能已經(jīng)足夠強(qiáng)大,但很可惜,它的免費(fèi)版是沒有提供GUI界面的,通過CLI使用始終相對(duì)不便。于是,網(wǎng)上一些有志之士開發(fā)了相關(guān)的GUI界面。其中,做得比較好的有:

因此,我們采用了Konga作為Kong的GUI界面。

2、安裝

Konga是使用NodeJS開發(fā)的項(xiàng)目,因此需要下載源碼并安裝。受網(wǎng)速影響,整個(gè)安裝配置過程大約持續(xù)30~90分鐘之間。

$ git clone https://github.com/pantsel/konga.git
$ cd konga
$ npm i

由于Konga依賴比較多,安裝起來比較麻煩,尤其安裝在CentOS等其他發(fā)行版的Linux更加復(fù)雜,可以把已經(jīng)安裝好的環(huán)境克隆過去,然后試試以下命令

$ 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、配置

項(xiàng)目?jī)?nèi)已經(jīng)提供了配置文件用例.env_example,復(fù)制為.env并修改配置項(xiàng)即可。

cp .env_example .env
gedit .env

關(guān)鍵的配置有PORT、DB_ADAPTER、DB_URI、DB_USER、DB_PASSWORD等。

4、數(shù)據(jù)庫集成

Konga的持久化需要數(shù)據(jù)庫支撐,可用的數(shù)據(jù)庫有:

  • MySQL
  • MongoDB
  • PostgresSQL
    由于Kong本身使用了PostgresSQL數(shù)據(jù)庫,所以Konga也使用PostgresSQL。Konga使用PostgresSQL時(shí)有些特別,需要用系統(tǒng)當(dāng)前用戶名,因此要以當(dāng)前用戶名創(chuàng)建DB管理員。具體原因未知,也可能哪里設(shè)置的問題。
$ sudo -u postgres createuser --superuser ubuntu
$ sudo -u postgres psql
postgres=# CREATE DATABASE konga OWNER ubuntu;
postgres=# \q
$ sudo -u ubuntu psql
ubuntu=# \password
# 此處設(shè)置密碼
ubuntu=# \q

設(shè)置密碼后,還需要修改數(shù)據(jù)庫密碼算法。

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

然后重啟數(shù)據(jù)庫

sudo /etc/init.d/postgresql restart

5、數(shù)據(jù)庫初始化

$ node ./bin/konga.js prepare [--adapter postgres --uri postgresql://localhost:5432/konga]

6、運(yùn)行

根據(jù)個(gè)人喜好的方式,以npm命令運(yùn)行

$ npm run production

或pm2命令運(yùn)行(建議)

$ sudo npm i pm2 -g
$ pm2 start app.js --name konga

7、注冊(cè)

用瀏覽器打開Konga地址,一般是http://localhost:1377,顯示界面如下:

由于當(dāng)前沒有管理員,所以需要注冊(cè)一個(gè)管理員。然后登錄


image.png

8、建立鏈接

由于沒有連接到Kong,因此需要新建一個(gè)到Kong的鏈接。


image.png

打開相應(yīng)鏈接,看到如下界面:


image.png

左邊是菜單欄,右邊主界面顯示了當(dāng)前Kong的概要信息。點(diǎn)擊菜單欄的相應(yīng)項(xiàng)目,可以設(shè)置service和route等。

系列鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容