Kong 学习笔记
Kong 的部署及使用
安装数据库
- 添加源
sudo vim /etc/apt/sources.list.d/pgdg.list deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
- 导入key
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
- 安装 PostgreSql
sudo apt-get install postgresql-9.5
- 修改配置文件
- 修改 postgresql.conf 文件
修改如下参数sudo vim /etc/postgresql/9.5/main/postgresql.conf
listen_addresses = '*' password_encryption = on
- 修改 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
- 重启 PostgreSql ,修改数据库密码并切换到默认创建的 postgres 用户
sudo service postgresql restart sudo passwd postgres su - postgres
- 为 Kong 建立数据库
psql postgres psql CREATE USER kong_user WITH PASSWORD 'kong_pass'; create database "kong_db"; GRANT ALL PRIVILEGES ON DATABASE "kong_db" to kong_user;
- 修改 postgresql.conf 文件
部署 Kong
- 安装依赖
sudo apt-get install netcat openssl libpcre3 dnsmasq procps
- 下载并安装 Kong,下载地址:https://getkong.org/install/ubuntu/
sudo dpkg -i kong-0.8.3.*.deb
- 修改 Kong 配置文件
修改内容如下sudo vim /etc/kong/kong.conf
database = 'postgres' pg_host = 127.0.0.1 pg_port = 5432 pg_user = kong_user pg_password = kong_pass pg_database = kong_db pg_ssl = off pg_ssl_verify = off
- 初始化数据库表
kong migrations up
- 启动与停止 Kong
kong start kong stop
添加 API
简单演示百度 OCR-API 添加过程,百度 API 的详细调用过程请参考下方链接。https://cloud.tencent.com/developer/article/1169345
- 添加服务
curl -i -X POST \ --url http://localhost:8001/services/ \ --data 'name=ocr-service' \ --data 'url=https://aip.baidubce.com/rest/2.0/ocr/v1/general'
- 为服务添加路由
curl -i -X POST \ --url http://localhost:8001/services/ocr-service/routes \ --data 'hosts[]=ocr.com'
- 创建用户
curl -i -X POST \ --url http://localhost:8001/consumers/ \ --data "username=user_name"
- 为用户创建密码
curl -i -X POST \ --url http://localhost:8001/consumers/HuiChen/key-auth/ \ --data 'key=123456'
调用 API
通过 Kong 调用百度 OCR-API,完整调用过程如下
- 启动 PostgreSql 数据库
service postgresql start
- 启动 Kong
sudo kong start
- 启动 Kong-dashboard(Kong-dashboard 部署过程)
kong-dashboard start --kong-url http://localhost:8001 --port 8088
- 使用 postman 模拟访问 OCR-API
Host、Content-Type、apikey 放在 Header 中,url 放在 Body 中。param value POST http://locaohost:8000?access_token=24.be78b6236896fa66c118d28bfcb1733f.2592000.1550629910.282335-15062501 Host ocr.com Content-Type application/x-www-form-urlencoded apikey 123456 url https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2730107330,1426106144&fm=15&gp=0.jpg - 结果示例:
- 待识别图片:
- 返回结果:
- 待识别图片: