新手一个,安装过程中还真是遇到不少坑,Kong配置的坑,postgresql的坑,下面就记录一下我的安装过程吧,以便下次遇到问题时回顾。
Kong,是一款基于lua的API管理软件。能够注册、管理API,能够提供API的验证访问。Kong本质上始一个反向代理软件,类似于ngnix,但比nginx提供了更简单的配置方式(REST接口)。
Kong的主页为:API Management Solution for Enterprise | Kong Inc.
wget https://github.com/Mashape/kong/releases/download/0.8.2/kong-0.8.2.el6.noarch.rpm
yum install epel-release
yum install kong-0.8.2.el6.noarch.rpm
二. 安装数据库
kong使用前要首先配置数据库,目前kong支持"cassandra", "postgres",配置文件中默认使用cassandra。这里安装使用postgres。
# 添加PostgreSQL yum repository
yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-2.noarch.rpm
# 安装postgresql
yum install postgresql94
# 安装postgresql server
yum install postgresql94-server postgresql94-contrib
# 查看安装
rpm -qa|grep postgres
得到如下结果则表示成功了!
postgresql94-9.4.15-5PGDG.rhel6.x86_64
postgresql94-server-9.4.15-5PGDG.rhel6.x86_64
postgresql94-libs-9.4.15-5PGDG.rhel6.x86_64
postgresql94-contrib-9.4.15-5PGDG.rhel6.x86_64
# 修改postgresql初始化配置
vim /etc/init.d/postgresql-9.4
PGDATA :数据文件路径 ,PGLOG :日志文件路径 ,修改数据库文件以及日志文件的存储位置,我是放在/home/pgsql/下 的,默认是在/var/lib/下,当然,这个参数你也可以不修改!
# 初始化数据库
service postgresql-9.4 initdb
# 启动数据库服务
service postgresql-9.4 start
# 设置开机自启
chkconfig postgresql-9.4 on
# 修改postgresql配置
修改/home/pgsql/9.4/data下的配置文件postgresql.conf 和 pg_hba.conf .
1. 配置监听所有服务器请求
cd /home/pgsql/9.4/data
vim postgresql.conf
将这一行注释打开 #listen_addresses=‘localhost’,并把localhost改为 *
2. 配置允许远程访问
vim pg_hba.conf
将第80行、82行、85行METHOD参数修改为trust;
第83行是新加的,允许192.168.1.1网关上的机器连接;
如下图1。
# 创建用户及数据库
su postgres;
psql;
CREATE USER 用户名 WITH PASSWORD 密码 ;
CREATE DATABASE 数据库名 OWNER 用户 ;
退出psql: \q
# 配置 kong 数据库
vim /etc/kong/kong.yml
这里我用的是postgres数据库,这部分一个坑,就是你把对应配置的注解打开(图中第98行、103行、104行、108行、112行、113行),
修改参数后保存,这样kong启动的时候,是无法启动的,提示配置无法解析(我的是这种情况),配置这一块浪费了不少时间,
这里应该吧配置参数提取到一起,就OK了,如下图2:
三. kong的使用
# 启动
kong start
# 关闭
kong stop
# 重新加载
kong reload
# 查看状态
kong status
# 添加API
curl -i -X POST \
--url http://localhost:8001/apis/ \
--data 'name=totoro' \
--data 'upstream_url=http://totoro.com/' \
--data 'request_host=totoro.com'
四. kong的UI界面
kong本身没有UI界面,对于初学者来说很是不便,推荐一个开源的kong的UI:kong-dashboard https://github.com/PGBI/kong-dashboard
# 安装kong-dashboard
# Install Kong Dashboard
npm install -g kong-dashboard
# Start Kong Dashboard
kong-dashboard start
# To start Kong Dashboard on a custom port
kong-dashboard start -p [port]