Kong网关部署(一)
程序员文章站
2022-06-03 20:25:13
...
Kong网关部署(一)
写在前面
版本控制:
- centos7.3
- postgresql-11
二.安装Kong需要的数据库PostgreSQL
1. 准备:安装依赖组件
yum -y install gcc-c++ &
yum -y install pcre pcre-devel &
yum -y install zlib zlib-devel &
yum -y install openssl openssl-devel &
yum -y install wget
2.安装及配置
- 安装:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql11 postgresql11-server
- 数据库初始化:
/usr/pgsql-11/bin/postgresql-11-setup initdb
-
设置数据库允许远程访问
sudo vim /var/lib/pgsql/11/data/postgresql.conf
:
#listen_addresses = 'localhost'
#port=5432
修改为:
listen_addresses = '*'
port=5432
-
修改客户端认证配置文件
sudo vim /var/lib/pgsql/11/data/pg_hba.conf
#在ipv4下面修改:
#host all all 127.0.0.1/32 trust //本地访问完全信任
host all all 0.0.0.0/0 md5 //远程访问需要密码
修改后大概就是这个样子:
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication all peer
#host replication all 127.0.0.1/32 ident
#host replication all ::1/128 ident
host all all 0.0.0.0/0 md5
- 启动服务
systemctl start postgresql-11
#systemctl restart postgresql-11 //重启命令
- 设置开机自启动
systemctl enable postgresql-11
三.操作postgresql
1. 修改postgres用户密码
# PostgreSQL会创建一个默认的linux用户postgres,修改该用户密码的方法如下:
# 1. 删除用户postgres的密码
sudo passwd -d postgres
# 2. 设置用户postgres的密码
sudo -u postgres passwd
输入新的密码即可
2. 创建用户(名字任意)
//进入postgres
sudo -u postgres psql
//创建用户
create user kong with password '123456';
//若要修改kong用户的密码,如下:
ALTER USER kong WITH PASSWORD 'new_password';
3. 创建叫kong的数据库(名字任意)
create database kong owner kong;
4. 赋予用户权限
grant all privileges on database kong to kong;
5. 防火墙打开5432端口
若为本地虚拟机,可以这样打开:
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload
6. postgresql常用操作
- 查看所有数据库
\l
- 查看所有角 色
\du
四.安装Kong
1. 下载安装包
wget https://kong.bintray.com/kong-rpm/centos/7/kong-2.0.1.el7.amd64.rpm
2. 安装
yum install epel-release
yum install kong-2.0.1.*amd64.rpm --nogpgcheck
3. 配置数据库连接
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
vim /etc/kong/kong.conf
修改数据库配置:
# 修改数据库配置
database = postgres # Determines which of PostgreSQL or Cassandra
pg_host = 127.0.0.1 # The PostgreSQL host to connect to.
pg_port = 5432 # The port to connect to.
pg_user = kong # The username to authenticate if required.
pg_password = 你的密码 # The password to authenticate if required.
pg_database = kong # The database name to connect to.
admin_listen = 0.0.0.0:8001, 0.0.0.0:8444 http2 ssl #外网访问
4. 初始化数据库
kong migrations bootstrap -c /etc/kong/kong.conf
5. 启动kong
kong start -c /etc/kong/kong.conf
# kong restart -c /etc/kong/kong.conf
# kong top c/kong/kong.conf
# kong start
6. 测试kong
curl -i http://localhost:8001
7. 设置开机自启动
systemctl enable kong
五.安装Kong Dashboard可视化界面
1. 安装Node.js
# kong Dashboard是nodejs写的
sudo yum install -y nodejs
2. 安装git
#使用git方法
yum install -y git
yum install -y gcc-c++
#下载konga包并安装
git clone https://github.com/pantsel/konga.git
cd konga
npm i
npm i 时报点错不影响,那个错误忘记保留下来了,前端很多框架npm时都会报那个错误
3. 安装docker
//更新源
sudo yum update
//执行docker安装脚本
curl -sSL https://get.docker.com/ | sh
//启动docker
sudo service docker start
4. 安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
5. docker安装konga镜像
#docker pull konga
//阿里云镜像,更快
docker pull registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga:latest
6. docker创建kong数据库,并初始化
docker run --rm registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga -c prepare -a postgres -u postgresql://用户名:密码@ip:(prot默认是5432)5432/数据库名字
# docker run --rm konga -c prepare -a postgres -u postgresql://用户名:密码@ip:(prot默认是5432)5432/数据库名字
//例
# docker run --rm registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga -c prepare -a postgres -u postgresql://kong:[email protected] :5432/kong
7.创建docker-compose.yml文件
vim docker-compose.yml
,内容如下:
version: '2.1'
services:
kong:
image: "registry.cn-hangzhou.aliyuncs.com/zhanghongzhuang-k8s/konga:latest"
environment:
DB_ADAPTER: postgres
DB_HOST: 47.94.87.117
DB_PORT: 5432
DB_USER: kong
DB_PASSWORD: CentOS7.3
DB_DATABASE: kong
NODE_ENV: production
ports:
- "1337:1337/tcp"
restart: on-failure
注意,这里的version必须是docker-compose的版本要求的才行,否则报错会让你不能理解
8.运行
- 执行
docker-compose up -d
, - ping
curl -i http://47.94.87.117:1337
即可查看运行结果 - docker-compose的命令和docker差不多
最后
- 参考文档:
- 所有操作中需要打开的防火墙:
- 5432 postgresql数据库端口
- 1337 这可以改变,konga界面的端口
- 8001 我未用到这个功能
下一篇: 使用docker实现kong的安装与使用
推荐阅读
-
一招教你使用Node.js中iis部署运行node(附代码)
-
C#实现一键换IP、重置DNS、网关及掩码的方法
-
springboot项目打成war包部署到tomcat遇到的一些问题
-
ThinkPHP学习笔记(一)ThinkPHP部署
-
一个网站部署多个Google Analytics帐户
-
docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
-
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
-
apache实现部署多个网站(一个ip部署多域名)的方法详解
-
对于Python的Django框架部署的一些建议
-
RabbitMQ消息队列之Windows下安装和部署(一)