zoukankan      html  css  js  c++  java
  • kong+konga

    kong+kongau 

    注意kong1.0与之前版本API发生了很大的改动,所以是不兼容的,kongav0.14.0是匹配kong1.0+的,不兼容1.0之前的。可以根据自己的需求进行选择。

    konga是kong的一个ui,可以操作kong API。
    部署版本kongv1.1.1,kongav0.14.1

    部署postgres参考我的[微服务之kong+consul(二) - 诗码者 - 博客园](https://www.cnblogs.com/cuishuai/p/9219195.html)。
    部署新版本的kong:[Install - CentOS | Kong - Open-Source API Management and Microservice Management](https://docs.konghq.com/install/centos/?_ga=2.75002770.1697313124.1532572204-1249667919.1526638850)

    修改配置文件:
    1)日志路径
    2)dns_resolver = 10.42.3.6
    将kong的dns_resolver地址填上consul的地址,需要在启动consul的时候把dns端口指定为53

    由于kong-dashboard不支持新的kong的特性,所以决定使用konga。

    konga的github地址:[GitHub - pantsel/konga: More than just another GUI to Kong Admin API](https://github.com/pantsel/konga)

    安装方式采用npm安装:

    数据库使用mongodb

    docker部署mongodb:
    docker  volume create mongo-data

    docker run -d -it -p 27017:27017 -v mongo-data:/data/db --name mongodb docker.io/mongo

    如果mongodb的端口不是27107,并且需要用户验证,需要修改konga/config目录下面的connect.js

    mongo: {
    adapter: 'sails-mongo',
    url: process.env.DB_URI || null,
    host: process.env.DB_HOST || 'localhost',
    port: process.env.DB_PORT || 27020,
    user: process.env.DB_USER || null,
    password: process.env.DB_PASSWORD || null,
    database: process.env.DB_DATABASE || 'konga_database',
    },

    准备:

    安装node、npm使用nvm安装https://github.com/creationix/nvm

    安装bower、gulp

    npm install -g bower
    npm install --save gulp-install

    install:

    cd /data/konga
    npm i

    此时会有一个WARN:

    npm WARN lifecycle kongadmin@0.14.3~postinstall: cannot run in wd %s %s (wd=%s) kongadmin@0.14.3 bower --allow-root install /data/konga

    需要手动安装一下:

    bower --allow-root install /data/konga

    配置:

    cd  /data/konga
    cp .env_example .env

    # cat  .env

    PORT=1337
    NODE_ENV=production
    DB_ADAPTER=mongo
    KONGA_LOG_LEVEL=warn

    这里adapter选择使用mongo。


    启动:

    nohup npm run production &

    为了方便使用,写了一个启动脚本:

    # cat /usr/local/bin/konga

    #!/bin/bash
    # start konga
    le=`lsof -i:1337 | wc -l`
    pid=`lsof -i:1337 | grep LISTEN | awk '{print $2}'`
    
    case $1 in
    start)
    if [ $le -eq 0 ];then
    cd /data/konga
    nohup npm run production >>/data/konga/nohup.out 2>&1 &
    echo "kongs start successful!"
    else echo "konga already startd!"
    fi
    ;;
    stop)
    kill -9 $pid
    esac

    #1337是服务的监听端口,这个需要修改为自己的服务端口。

    使用konga添加服务:

    左侧编辑栏找到"SERVICES"-->+ADD NEW SERVICE,此时会弹出CREATE SERVICE,填写相应的service信息就好了。

    这里创建一个demo,NAME就是service name,这里是demo,Description就是对此服务的一个简单的描述,这里是it's a  demo;Tags 是服务标签。Uri不用写,我们直接指定协议,使用的是http。Host指的是后端的server地址,我这里采用的是consul注册的,所以只提供一个服务域名,具体consul使用可参考我的博客。当然这里可以写自己的服务ip地址,下面的port如果用consul,那就填写80,如果使用服务ip就直接填写服务端口。ptah就是后面的匹配跳转,这个写/,或默认就好了,我们去Routes里面定义。

    提交了以后,demo这个service就创建完成了。可以去SERVICES里面去查看:

    接下来,为demo创建Routes:选择上面页面的Routes选项,选择+ ADD ROUTE,会弹出ADD ROUTE TO DEMO的对话框,然后填写信息,(!!!每个选项填写完成都必须按回车键确认,否则填写不生效):

     如图,path填写访问的路径,/demo。其他的照着填即可,点击SUBMIT ROUTE,即完成添加。

    这样就可以通过kong的域名进行访问:比如kong绑定的域名是kong.www.com.访问kong.www.com/demo就可以访问自己的服务。

    consul中的注册文件:

    {
        "service": {
            "name": "demo",
            "address": "10.42.3.6",
            "tags": [
                "demo"
            ],
            "port": 4072,
            "check": {
                "id": "demo",
                "name": "demo status",
                "http": "http://10.42.3.6:4072/health",
                "interval": "5s",
                "timeout": "2s"
            }
        }
    }

    重新加载文件即可。

    consul-reload

    consul的使用参考我的另外一篇博客http://www.cnblogs.com/cuishuai/p/8194345.html。

    访问:

  • 相关阅读:
    org.Hs.eg.db
    Error in readRDS(dest) : error reading from connection
    R语言中的特殊值 NA NULL NaN Inf
    C#转Java之路之三:多线程并发容器即线程安全的容器
    C#转Java之路之二:多线程原子变量
    C#转Java之路之一:线程
    H5 input type="search" 不显示搜索 解决方法
    陪你在路上...我却渐行渐远
    Extjs使用 RestfulWebApi +Token验证小结
    Oracle 10g的备份与还原
  • 原文地址:https://www.cnblogs.com/cuishuai/p/9378960.html
Copyright © 2011-2022 走看看