ubuntu 安装网关 kong 和 PostgreSQL数据库的安装

为什么使用API-Gateway

  1. 方便客户端维护– 每个请求方不用管理多个api url,统一访问api-gateway即可
  2. 接口重构时调用方不须了解接口本身等拆分和聚合
  3. 客户端无须关心接口协议
  4. 统一权限控制、接口请求访问日志统计
  5. 安全,是保护内部服务而设计的一道屏障

Kong是一款基于Nginx_Lua模块写的高可用微服务网关,由于Kong是基于Nginx的,所以可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。

Kong主要有三个组件:

  • Kong Server :基于nginx的服务器,用来接收API请求。
  • Cassandra/PostgreSQL :用来存储操作数据。
  • Kong dashboard:官方推荐UI管理工具,当然,也可以使用 restfull 方式 管理admin api

安装PostgreSQL

1、安装

sudo apt-get install postgresql-9.5

2、配置

1、修改配置文件postgresql.conf

sudo vim /etc/postgresql/9.5/main/postgresql.conf 

修改以下2行

listen_addresses = '*'
password_encryption = on

2、 修改配置文件pg_hba.conf

  sudo vim /etc/postgresql/9.5/main/pg_hba.conf

后面添加以下内容

host all all 0.0.0.0 0.0.0.0 md5

3、重启postgresql

sudo service postgresql restart

PostgreSQL 数据库安装完成。

4、修改PostgreSQL数据库默认用户 postgres 的密码

数据库会创建一个 postgres 用户作为数据库的管理员,密码随机的,所以需要先去修改密码,方式如下:

(1)PostgreSQL登录

sudo -u postgres psql        
# -u postgres 是使用 postgres 用户登录的意思
# psql 是使用 psql 客户端登录

(2)修改postgres 用户密码

ALTER USER postgres WITH PASSWORD 'postgres';

(3)退出PostgreSQL客户端

\q

5、修改linux系统postgres用户的密码

PostgreSQL会创建一个默认的linux用户postgres,修改该用户密码的方法如下:

(1)删除用户postgres的密码

sudo passwd -d postgres

(2)设置用户postgres的密码

sudo -u postgres passwd

系统提示输入新的密码

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

6、创建数据库和用户给kong 使用

sudo -u postgres psql 
create database "kong_db";
CREATE USER kong_user WITH PASSWORD 'kong_pass'; 
GRANT ALL PRIVILEGES ON DATABASE "kong_db" to kong_user;

至此,数据库准备完毕

部署kong

1、安装之前先安装依赖包

sudo apt-get install netcat openssl libpcre3 dnsmasq procps

在 https://getkong.org/install/ubuntu/ 下载最新的kong的deb安装包

sudo dpkg -i kong-2.0.2.xenial.amd64.deb

2、配置 kong
安装完成之后会生成 kong.conf.default,可以参考内容进行修改

sudo vim /etc/kong/kong.conf

内容如下
ubuntu 安装网关 kong 和 PostgreSQL数据库的安装_第1张图片
数据库准备好存储,现在需要执行kong migrations来初始化数据库表

kong migrations up
kong start
kong stop

现在kong 已经全部安装完成。可以使用命令行工具进行测试

curl -i http://localhost:8001/

你可能感兴趣的:(ubuntu 安装网关 kong 和 PostgreSQL数据库的安装)