1 kong2.1.0, konga0.14.9, postgresql96, centos7.5.1804 安装

环境准备, centos7.5, 虚拟机或docker镜像都可, 我是在docker镜像里做的. 安装包全了, 都在下面, 如果想傻瓜式安装, 执行本篇全部命令即可成功启动kong, konga, pgsql. 非docker的话就挑挑干货命令

链接: https://pan.baidu.com/s/1s5SRVjVIt0u9WcTfpAE_dg  密码: abfa

安装包内软件版本, kong2.1.0, konga0.14.9, postgresql96, centos7.5.1804, node v12.16.0. 
先说下版本的问题, kong2.1是最新版,kong dashbaord不支持, 只能用konga, konga的最行版是0.14.9, 它只必须用postgresql9.5以上版本, 选择pg9.6是因为实验了下pg12, 与konga冲突, konga的官方推荐node12, 所以选了12.16的node
https://docs.konghq.com/    kong官网
https://github.com/pantsel/konga    konga github

查看linux版本

cat /etc/redhat-release  #CentOS Linux release 7.5.1804 (Core)
uname -a                 # Linux 39a8dda2b605 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version        #Linux version 4.19.76-linuxkit (root@4abe09437d05) (gcc version 8.3.0 (Alpine 8.3.0)) #1 SMP Tue May 26 11:42:35 UTC 2020


以docker镜像为例, 开始整, 先下载docker镜像, 

docker pull centos:7.5.1804

启动容器

/Users/fengzhikui/docker/kong替换成自己下载的路径
docker run -d --name kong \
 --privileged=true \
 -v /Users/fengzhikui/docker/kong/data/profile:/etc/profile \
 -v /Users/fengzhikui/docker/kong/data/npmrc:/root/.npmrc \
 -v /Users/fengzhikui/docker/kong/data/kong.conf:/etc/kong/kong.conf \
 -v /Users/fengzhikui/docker/kong/kongdata/usrlocalkong/:/usr/local/kong \
 -v /Users/fengzhikui/docker/kong/kongdata/etckong:/etc/kong/ \
 -v /Users/fengzhikui/docker/kong/pgsqldata/varlibpgsql96:/var/lib/pgsql/9.6/ \
 -v /Users/fengzhikui/docker/kong/data:/data \
 -p 1337:1337 \
 -p 8000:8000 \
 -p 8001:8001 \
 -p 8443:8443 \
 -p 5432:5432 \
 -p 8002:8002 \
 centos:7.5.1804 \
 /usr/sbin/init

简单说一下端口, 1337konga对外暴露的dashboard端口, 8000和8443是kong监听的http和https的端口, 8001kong对外暴露api, 5432pgsql对外暴露服务. /var/lib/pgsql/9.6/是为了杀了容器的话, pgsql的数据还能保留,/usr/local/kong是为了保留kong的数据, 也可以在容器外看nginx的log, profile指定了一些环境变量, npmrc配置了国内源

执行完上面的命令, 容器没死, 重要的文件也映射到了容器内, 接下来去容器里边操作

docker exec -it kong /bin/bash

安装必要的程序

yum -y localinstall /data/kong/kong-2.1.0.el7.amd64.rpm \
  && yum -y localinstall /data/git/* \
  && yum -y localinstall /data/pg96/* \
  && yum -y localinstall /data/vim/* \
  && source /etc/profile \
  && ln -s /usr/lib64/libz.so.1.2.7 /usr/lib64/libz.so

命令摆着呢, ln -s /usr/lib64/libz.so.1.2.7 /usr/lib64/libz.so 这个的原因是centos7内没有这个名的库, 链接一下, 非docker不用这步.
现在kong, postgresql9.6装完了, 先把postgresql启动, 

/usr/pgsql-9.6/bin/postgresql96-setup initdb && \
 cp /data/pg_hba.conf /var/lib/pgsql/9.6/data/pg_hba.conf && \
 cp /data/postgresql.conf /var/lib/pgsql/9.6/data/postgresql.conf && \
 systemctl start postgresql-9.6

initdb就是把数据库初始化一下, 包括/var/lib/pgsql/9.6/data这个目录数据的创建, 把配置文件考过去, 就可以启动了pg_hba.conf配置了访问权限的事.然后初始化kong和konga需要的数据库和用户名

su - postgres
psql -U postgres -h 127.0.0.1 -p 5432
CREATE USER kong;CREATE DATABASE kong OWNER kong;ALTER USER kong WITH password 'kong';create user konga with password 'konga';alter role konga login;create database konga owner konga;grant all privileges on database konga to konga;

切换到postgres用户, 连接数据库, 创建数据库kong,用户kong,密码kong和数据库konga,用户konga,密码konga

数据库的准备工作完毕, 退出到自己的用户开始启动kong, 执行下面的命令之前先看一眼kong.conf是不是改对了, 这里目前只是配置了链接数据库的信息, 等着将来写插件的调试的时候还需要改这个配置.

kong migrations bootstrap && kong migrations up -c /etc/kong/kong.conf && kong start && kong health

bootstrap是初始化, up对应着插件里的up的sql语句的执行, 重启的话不需要在进行初始化的操作了.
重启的话命令如下, 调试插件时需要频繁重启

kong stop && kong start -c /etc/kong/kong.conf --vv && tail -f /usr/local/kong/logs/*.log
或者  
kong restart

至此, kong安装配置完成, 是否安装成功执行 kong health 查看

开始安装konga

cd /data/konga/
git clone https://github.com/pantsel/konga.git
cd konga
npm i
npm install -g gulp bower sails dotenv-extended angular dotenv lodash  async nn stable  sails
node ./bin/konga.js  prepare --adapter postgres --uri postgresql://konga:konga@你的本机ip别用localhost:5432/konga
npm run production

install之前保证npmnr放在/root/.npmrc了,理论上现在就可以启动了, 但是有时会报错

Uncaught ReferenceError: angular is not defined

需要执行如下命令, 如果执行完还报错, 你的浏览器缓存没跑了, 把disable cache勾上, 这点很重要啊, 特别是自己想扩展konga的代码的时候, disable cache, disable cache, disable cache

$ npm run bower-deps

至此, 安装完成, 几个有用的目录

/etc/kong/kong.conf   kong的配置文件
/usr/local/share/lua/5.1/kong    kong的lua脚本,plugin也在这, constants.lua用luarocks安装插件时, 需要在这里启用插件
/usr/local/kong/logs/    nginx的log,kong插件编写时需要看

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值