概述
文章目录
- 原生离线安装
- 附件
- 环境
- 安装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 root
。ulimit -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
按顺序执行
- rpm -ivh postgresql11-libs-11.2-1PGDG.rhel7.x86_64.rpm
- rpm -ivh postgresql11-11.2-1PGDG.rhel7.x86_64.rpm
- 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需要注意以下几点
- 使用up替换
bootstrap
来执行 - migrations不能同时执行转移,一次只能一个(在>0.15,没有限制)
- 使用up替换
- 安装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)]
- 复制并重名环境文件
类似于SpringBoot的yaml环境
mv .env_example .env
- 将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: {
},
};
-
将connection.js的postgres去除默认配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ttTTYInX-1606273235165)(en-resource://database/667:1)] -
配置环境变量
[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两个文件
- 将local_example.js改成local.js
cd /usr/local/konga/config
mv local_example.js local.js
- 采用postgresql数据库
vim local.js
将connection改为postgres
models: {
connection: process.env.DB_ADAPTER || ‘postgres’,
}
- 修改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的安装配置原生离线安装在线安装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复