Kong Gateway


    首先需要一个安装好的 postgreSQL 10+

    参考 https://docs.konghq.com/gateway/latest/install/linux/ubuntu

    1. 下载最新版 (3.2.1)

    wget https://jansora.oss-cn-shanghai.aliyuncs.com/lib/kong/kong_3.2.1_amd64.deb

    2. 安装

    sudo dpkg -i kong-3.2.1.amd64.deb


    root@l2:~# dpkg -i kong_3.2.1_amd64.deb 
    Selecting previously unselected package kong.
    (Reading database ... 118922 files and directories currently installed.)
    Preparing to unpack kong_3.2.1_amd64.deb ...
    Unpacking kong (3.2.1) ...
    dpkg: dependency problems prevent configuration of kong:
     kong depends on zlib1g-dev; however:
      Package zlib1g-dev is not installed.
    dpkg: error processing package kong (--install):
     dependency problems - leaving unconfigured
    Errors were encountered while processing:

    3. 没关系, 执行下面的命令安装

    sudo apt-get -f install


    root@l2:~# sudo apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Correcting dependencies... Done
    The following additional packages will be installed:
      zlib1g zlib1g-dev
    The following NEW packages will be installed:
    The following packages will be upgraded:
    1 upgraded, 1 newly installed, 0 to remove and 289 not upgraded.
    1 not fully installed or removed.
    Need to get 210 kB of archives.
    After this operation, 608 kB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:1 http://mirrors.tencentyun.com/ubuntu focal-security/main amd64 zlib1g amd64 1:1.2.11.dfsg-2ubuntu1.5 [54.2 kB]
    Get:2 http://mirrors.tencentyun.com/ubuntu focal-security/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2ubuntu1.5 [155 kB]
    Fetched 210 kB in 0s (4,294 kB/s)   
    (Reading database ... 121143 files and directories currently installed.)
    Preparing to unpack .../zlib1g_1%3a1.2.11.dfsg-2ubuntu1.5_amd64.deb ...
    Unpacking zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.5) over (1:1.2.11.dfsg-2ubuntu1.2) ...
    Setting up zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.5) ...
    Selecting previously unselected package zlib1g-dev:amd64.
    (Reading database ... 121143 files and directories currently installed.)
    Preparing to unpack .../zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu1.5_amd64.deb ...
    Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.5) ...
    Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.5) ...
    Setting up kong (3.2.1) ...
    Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
    Processing triggers for man-db (2.9.1-1) ...

    安装完之后再 /etc/kong/ 下能看到如下的文件

    root@l2:/etc/kong# tree /etc/kong
    ├── kong.conf.default
    └── kong.logrotate
    0 directories, 2 files

    4. 调整配置文件

    cp /etc/kong/kong.conf.default /etc/kong/kong.conf


    database = postgres
    pg_host = l1.inet.jansora.com
    pg_port = 55432
    pg_user = kong
    pg_password = ***
    pg_database = kong

    如果端口有冲突, 也可调整端口

    By default, listens on the following ports:
    :8000: Port on which listens for incoming HTTP traffic from your clients, and forwards it to your upstream services.
    :8443: Port on which listens for incoming HTTPS traffic. This port has similar behavior as the :8000 port, except that it expects HTTPS traffic only. This port can be disabled with the kong.confconfiguration file.
    :8001: Port on which the Admin API used to configure listens.
    :8444: Port on which the Admin API listens for HTTPS traffic.

    5. 初始化数据库

    kong migrations bootstrap -c //etc/kong/kong.conf

    安装日志如下 (数据库配置正确)

    root@l2:/etc/kong#  kong migrations bootstrap -c /etc/kong/kong.conf
    2023/03/14 23:20:14 [warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"
    Bootstrapping database...
    migrating core on database 'kong'...
    core migrated up to: 000_base (executed)
    core migrated up to: 003_100_to_110 (executed)
    core migrated up to: 004_110_to_120 (executed)
    core migrated up to: 005_120_to_130 (executed)
    core migrated up to: 006_130_to_140 (executed)
    core migrated up to: 007_140_to_150 (executed)
    core migrated up to: 008_150_to_200 (executed)
    core migrated up to: 009_200_to_210 (executed)
    core migrated up to: 010_210_to_211 (executed)
    core migrated up to: 011_212_to_213 (executed)
    core migrated up to: 012_213_to_220 (executed)
    core migrated up to: 013_220_to_230 (executed)
    core migrated up to: 014_230_to_270 (executed)
    core migrated up to: 015_270_to_280 (executed)
    core migrated up to: 016_280_to_300 (executed)
    core migrated up to: 017_300_to_310 (executed)
    core migrated up to: 018_310_to_320 (executed)
    migrating acl on database 'kong'...
    acl migrated up to: 000_base_acl (executed)
    acl migrated up to: 002_130_to_140 (executed)
    acl migrated up to: 003_200_to_210 (executed)
    acl migrated up to: 004_212_to_213 (executed)
    migrating acme on database 'kong'...
    acme migrated up to: 000_base_acme (executed)
    acme migrated up to: 001_280_to_300 (executed)
    migrating basic-auth on database 'kong'...
    basic-auth migrated up to: 000_base_basic_auth (executed)
    basic-auth migrated up to: 002_130_to_140 (executed)
    basic-auth migrated up to: 003_200_to_210 (executed)
    migrating bot-detection on database 'kong'...
    bot-detection migrated up to: 001_200_to_210 (executed)
    migrating hmac-auth on database 'kong'...
    hmac-auth migrated up to: 000_base_hmac_auth (executed)
    hmac-auth migrated up to: 002_130_to_140 (executed)
    hmac-auth migrated up to: 003_200_to_210 (executed)
    migrating http-log on database 'kong'...
    http-log migrated up to: 001_280_to_300 (executed)
    migrating ip-restriction on database 'kong'...
    ip-restriction migrated up to: 001_200_to_210 (executed)
    migrating jwt on database 'kong'...
    jwt migrated up to: 000_base_jwt (executed)
    jwt migrated up to: 002_130_to_140 (executed)
    jwt migrated up to: 003_200_to_210 (executed)
    migrating key-auth on database 'kong'...
    key-auth migrated up to: 000_base_key_auth (executed)
    key-auth migrated up to: 002_130_to_140 (executed)
    key-auth migrated up to: 003_200_to_210 (executed)
    migrating oauth2 on database 'kong'...
    oauth2 migrated up to: 000_base_oauth2 (executed)
    oauth2 migrated up to: 003_130_to_140 (executed)
    oauth2 migrated up to: 004_200_to_210 (executed)
    oauth2 migrated up to: 005_210_to_211 (executed)
    migrating post-function on database 'kong'...
    post-function migrated up to: 001_280_to_300 (executed)
    migrating pre-function on database 'kong'...
    pre-function migrated up to: 001_280_to_300 (executed)
    migrating rate-limiting on database 'kong'...
    rate-limiting migrated up to: 000_base_rate_limiting (executed)
    rate-limiting migrated up to: 003_10_to_112 (executed)
    rate-limiting migrated up to: 004_200_to_210 (executed)
    migrating response-ratelimiting on database 'kong'...
    response-ratelimiting migrated up to: 000_base_response_rate_limiting (executed)
    migrating session on database 'kong'...
    session migrated up to: 000_base_session (executed)
    session migrated up to: 001_add_ttl_index (executed)
    50 migrations processed
    50 executed
    Database is up-to-date

    6. 启动 kong

    kong start -c /etc/kong/kong.conf

    7. 验证 kong 安装完毕

    curl -i http://localhost:8001


    root@l2:/etc/kong# curl -i http://localhost:8001
    HTTP/1.1 200 OK
    Date: Tue, 14 Mar 2023 15:32:35 GMT
    Content-Type: application/json; charset=utf-8
    Connection: keep-alive
    Access-Control-Allow-Origin: *
    Content-Length: 13480
    X-Kong-Admin-Latency: 70
    Server: kong/3.2.1
    {"version":"3.2.1","lua_version":"LuaJIT 2.1.0-20220411", ......}