我是靠谱客的博主 顺心糖豆,最近开发中收集的这篇文章主要介绍Kong的安装配置原生离线安装在线安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 原生离线安装
    • 附件
    • 环境
    • 安装postgresql
      • 初始化postgresql
      • 远程访问和访问策略
      • 启动
      • 设置开机启动
    • 创建用户和数据库
      • 进入postgres
      • 创建用户kong
      • 创建数据库kong和konga
      • 把新建的数据库kong权限赋予用户kong
      • 退出数据库
    • 安装KONG
      • 安装rpm
      • 设置初始化配置【**集群所有机器都要执行**】
      • 执行Kong配置转移到数据库【**kong集群中随便一台执行即可**】
      • 启动kong
    • 安装NODE
    • 安装KONGA和配置
      • 安装
      • 配置
        • 环境变量
        • 非环境变量
      • 启动
    • 使用konga
      • 配置连接kong
      • 验证配置是否同通用
  • 在线安装

原生离线安装

附件

所有的安装包都在这

链接:https://pan.baidu.com/s/1PrC0BOS6QbUot-_6xPbnmQ
提取码:fonb

环境

  • Centos7 完整安装
  • 增大打开文件数的限制(软链接和硬链接)

如果不加,启动kong,会提示:ulimit is currently set to “1024”. For better performance set it to at least “4096” using “ulimit -n”。导致启动失败
改完后重新登录使得配置生效:su rootulimit -a查看是否修改成功

vi /etc/security/limits.conf 
* soft nofile 204800 
* hard nofile 204800 
* soft nproc 204800 
* hard nproc 204800

安装postgresql

下载。这里已经下载好了,在附件里

  • postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
  • postgresql11-11.2-1PGDG.rhel7.x86_64.rpm
  • postgresql11-contrib-11.2-1PGDG.rhel7.x86_64.rpm
  • postgresql11-server-11.2-1PGDG.rhel7.x86_64.rpm

按顺序执行

  1. rpm -ivh postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
  2. rpm -ivh postgresql11-11.2-1PGDG.rhel7.x86_64.rpm
  3. rpm -ivh postgresql11-server-11.2-1PGDG.rhel7.x86_64.rpm

安装后,软件路径在/var/lib/pgsql/11和/usr/pgsql-11

要注意的是:
在线安装,软件路径在/var/lib/pgsql。离线安装,软件路径会带上版本号。例如 /var/lib/pgsql 变成 /var/lib/pgsql/11

初始化postgresql

/usr/pgsql-11/bin/postgresql-11-setup initdb
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXPz0ajG-1606273235147)(en-resource://database/676:1)]

远程访问和访问策略

  • 允许远程访问

vi /var/lib/pgsql/11/data/postgresql.conf
将#listen_addresses = ‘localhost’,修改为:listen_addresses = ‘*’

  • 修改远程访问策略

vi /var/lib/pgsql/11/data/pg_hba.conf,修改如下

# 本地访问完全信任
host    all             all             127.0.0.1/32            trust
# 远程访问需要密码
host    all             all             0.0.0.0/0               md5

启动

  • 启动
    systemctl start postgresql-11

  • 查看启动状态
    systemctl status postgresql-11
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nz5c2zik-1606273235149)(en-resource://database/684:1)]

设置开机启动

systemctl enable postgresql-11

创建用户和数据库

进入postgres

sudo -u postgres psql

创建用户kong

create user kong with password 'pwd123';

如果要修改密码用下面指令

alter user kong with password 'pwd123';

创建数据库kong和konga

create database kong owner kong;
create database "konga" with encoding='UTF8';

把新建的数据库kong权限赋予用户kong

grant all privileges on database kong to kong;

退出数据库

ctrl+d

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLOGNC1J-1606273235151)(en-resource://database/674:1)]

安装KONG

官方介绍安装
这里使用包安装
已经下载好了,在附件上

  • 从Packages的开头描述,选择CentOS7
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PsqtnunV-1606273235153)(en-resource://database/685:1)]

  • 点击Files
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDEYIbF5-1606273235156)(en-resource://database/686:1)]

  • 选择centos
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JddfqZCa-1606273235157)(en-resource://database/673:1)]

  • 选择7这个版本
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xiaohh6v-1606273235158)(en-resource://database/670:1)]

  • 找到kong-2.0.1.el7.amd64.rpm
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bvsW5CJw-1606273235158)(en-resource://database/677:1)]

安装rpm

`rpm -ivh kong-2.0.1.el7.amd64.rpm’
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KECdlSvN-1606273235160)(en-resource://database/681:1)]

会多出这些目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QuvA2EOJ-1606273235160)(en-resource://database/675:1)]

设置初始化配置【集群所有机器都要执行

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

vi /etc/kong/kong.conf

  • 配置远程访问,将admin_listen打开,并修改成如下
    admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
  • 使用postgres数据库,存储配置。修改成以下
database = postgres
pg_host = 192.168.187.102
pg_user = kong
pg_password =pwd123
pg_database = kong

执行Kong配置转移到数据库【kong集群中随便一台执行即可

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

注意:

  • Kong版本<0.15需要注意以下几点
    1. 使用up替换bootstrap来执行
    2. migrations不能同时执行转移,一次只能一个(在>0.15,没有限制)
  • 安装PostgresSQL所在机器,防火墙记得关掉或通过5432端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-abyj4lRf-1606273235161)(en-resource://database/665:1)]

启动kong

稍等片刻
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dS6uzQVb-1606273235162)(en-resource://database/678:1)]

测试是否启动成功
telnet 192.168.187.102 8001
curl 192.168.187.102:8001

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LT0PlyR5-1606273235162)(en-resource://database/668:1)]

安装NODE

官方github介绍Prerequisites章节
要求Node.js版本>=8,<=12.x(推荐12.16 LTS)

  • 解压
    tar -xf node-v12.16.3-linux-x64.tar.xz -C /usr/local/node/

  • 设置软连接
    ln -s /usr/local/node/node-v12.16.3-linux-x64/bin/* /usr/bin/

  • 校验是否设置正确
    node -v
    npm -v
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kqLY6nlR-1606273235163)(en-resource://database/679:1)]

注意:

  • 安装后要重启服务器,不然在启动konga: npm start时会报错:
    Error: ENOENT: no such file or directory, uv_cwd
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C8qHFn4X-1606273235163)(en-resource://database/666:1)]

安装KONGA和配置

安装

因为国情所在,编译konga要下载一些基础模块,下载速度不敢恭维,用的100m宽带,下了3天才搞定。所以可以用我已install的工程,在附件上

下面介绍我安装的流程(采用我的工程请跳过)

  • 下载konga工程
    git clone https://github.com/pantsel/konga.git

  • npm -i

官方github在Installation章节是用到npm -i,如果提示permission denied,用:npm install -g --unsafe-perm --allow0-root

  • 等待。。。

配置

从官方github的local_example.js的注释得知有两种配置:非环境变量和环境变量,按官方说明,推荐环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H3GYSefv-1606273235164)(en-resource://database/683:1)]

下面以开发环境为例

环境变量

使用konga顶级目录下的.env文件,定义环境变量。在config/env,有两个文件:development.js和production.js。前者是开发环境,后者是生产环境。指定引用变量,之后修改,只需修改.env文件

官方github的Configuration的说明

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zuh5oh38-1606273235164)(en-resource://database/682:1)]

  1. 复制并重名环境文件

类似于SpringBoot的yaml环境

mv .env_example .env

  1. 将local.js配置迁移到config/env/development.js

local.js作为通用配置,这里,我留下:
environment:process.env.NODE_ENV || 'development',

[root@basic env]# pwd
/usr/local/konga/config/env
[root@basic env]# cat development.js 
'use strict';
/**
 * Development environment settings
 *
 * This file can include shared settings for a development team,
 * such as API keys or remote database passwords.  If you're using
 * a version control solution for your Sails app, this file will
 * be committed to your repository unless you add it to your .gitignore
 * file.  If your repository will be publicly viewable, don't add
 * any private information to this file!
 *
 */

var fs = require('fs');

module.exports = {
  /***************************************************************************
   * Set the default database connection for models in the development       *
   * environment (see config/connections.js and config/models.js )           *
   ***************************************************************************/

  hookTimeout: process.env.KONGA_HOOK_TIMEOUT || 60000,

  port: process.env.PORT || 1337,

  host: process.env.HOST || "0.0.0.0",

  // kong_admin_url: process.env.KONG_ADMIN_URL || 'http://127.0.0.1:8001',

  ssl: {
    key: process.env.SSL_KEY_PATH ? fs.readFileSync(process.env.SSL_KEY_PATH) : null,
    cert: process.env.SSL_CRT_PATH ? fs.readFileSync(process.env.SSL_CRT_PATH) : null
  },

  log: {
    level: process.env.KONGA_LOG_LEVEL
  },

  session: {
    secret: '' // Add your own SECRET string here
  },


  models: {
    connection: process.env.DB_ADAPTER,
  },

  connections: {

  },

};
  1. 将connection.js的postgres去除默认配置
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ttTTYInX-1606273235165)(en-resource://database/667:1)]

  2. 配置环境变量

[root@basic konga]# cat .env
PORT=1337
NODE_ENV=development
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
DB_URI=postgresql://kong:pwd123@192.168.187.102:5432/konga
DB_POOLSIZE=10
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token

非环境变量

不使用konga顶级目录下的.env文件作为配置,直接在xxx写上配置。发布正式环境,要修改local.js和connection.js两个文件

  1. 将local_example.js改成local.js
cd /usr/local/konga/config
mv local_example.js local.js
  1. 采用postgresql数据库
vim local.js

将connection改为postgres
 models: {
    connection: process.env.DB_ADAPTER || ‘postgres’,
}

  1. 修改postgres的连接信息

修改host、user、password、port、database

vim connections.js

postgres: {

    adapter: 'sails-postgresql',
    url: process.env.DB_URI,
    host: process.env.DB_HOST || 'xxx',
    user:  process.env.DB_USER || 'xxx',
    password: process.env.DB_PASSWORD || 'xxx',
    port: process.env.DB_PORT || xxx
    database: process.env.DB_DATABASE ||  'xxx',
    // schema: process.env.DB_PG_SCHEMA || 'public',
    poolSize: process.env.DB_POOLSIZE || 10,
    ssl: process.env.DB_SSL ? true : false // If set, assume it's true
  }

启动

./start.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XlTuXUYu-1606273235166)(en-resource://database/680:1)]

使用konga

访问138端口

第一次登录,会提示创建用用户

登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ukhW3KWd-1606273235166)(en-resource://database/669:1)]

配置连接kong

  • 配置kong的连接信息

随意一台kong即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2phEGOA6-1606273235167)(en-resource://database/664:1)]

  • 开启连接
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FfuHmZt5-1606273235167)(en-resource://database/671:1)]

验证配置是否同通用

  • 在SERVICES创建一个service
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBFdBa3c-1606273235168)(en-resource://database/672:1)]

  • 修改上一步的kong地址为另一台

切换后,可以看到刚创建的service,代表postgresql生效

  • 重启kong和konga

重启后,可以看到刚创建的service,代表postgresql生效

在线安装

最后

以上就是顺心糖豆为你收集整理的Kong的安装配置原生离线安装在线安装的全部内容,希望文章能够帮你解决Kong的安装配置原生离线安装在线安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部