centOS 7 单机安装 kong网关

kong 网关 单机部署

环境:centOS 7;依赖:jdk1.8

安装内容:postgresql数据库, kong 网关,nodeJs和npm,kong Dashboard (可视化管理界面)

版本:postgresql10,kong1.4.0,npm v8.1.0

本次重点主要为后续学习掌握kong配置使用,所以本次安装主要使用yum在线安装。

 


 

一、依赖包安装(若存在则不需再次安装)

1,gcc 编译环境

$ yum install -y gcc gcc-c++

2,pcre 用于nginx正则表达式解析(kong网关内部依赖nginx)

$ yum install -y pcre pcre-devel

3,zlib 提供压缩方式

$ yum install -y zlib zlib-devel

4,openssl 提供算法、加密及ssl功能

$ yum install -y openssl openssl-deve

二、postgreSQL 安装

kong默认使用postgreSQL存储

1,安装

 (1)$ yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/pgdg-centos10-10-2.noarch.rpm

 (2)$ yum install -y postgresql10-server postgresql10-contrib

 

2,数据库初始化

$ /usr/pgsql-10/bin/postgresql-10-setup initdb

初始化完成后,系统会自动生成(1)Linux用户 postgres 用于管理postgreSQL数据库;(2)postgreSQL数据库用户postgres;(3)postgreSQL数据库实例postgres,postgres用户默认使用该实例。

注意生成得Linux用户postgres用户为默认密码,建重新修改设定

[root@bogon ~]# passwd postgres
Changing password for user postgres.
New password:

3,服务启动

$ systemctl start postgresql-10.service

4,状态查询

$ systemctl status postgresql-10.service

5,postgreSQL数据库配置

为了后续使用方便kong网关使用,建议配置linux用户kong,postgreSQL数据库实例kong及所属用户kong。

(1) 新建 Linux 用户

$ adduser kong

$ passwd kong

(2) postgreSQL配置

需使用管理员用户(postgres)登陆创建用户和数据库实例

[root@bogon ~]# su postgres
bash-4.2$

输入 psql ,进入数据库

bash-4.2$ psql

postgres=#

至此就进入了postgreSQL的命令界面

创建用户:postgres=# create user kong with password 'kong';

创建数据库:postgres=# create database kong owner kong;

授权:postgres=# grant all privileges on database kong to kong;

配置完成,退出

postgres=# \q
bash-4.2$ exit;
exit
[root@bogon ~]#

 

(3) 配置文件

修改对外访问策略

vi  /var/lib/pgsql/10/data/pg_hba.conf

centOS 7 单机安装 kong网关 添加上最后一行即可 # TYPE  DATABASE        USER            ADDRESS                 METHOD  host    all             all           all             trust

使用trust不需要密码

配置文件修改后需重启服务:$ systemctl restart postgresql-10.service

重启后验证: $ psql -U kong -d kong -h 127.0.0.1 -p 5432

centOS 7 单机安装 kong网关

 

三、Kong 安装

官网下载rpm包:https://docs.konghq.com/install/centos/

根据系统选择对应版本,我使用的是centOS 7,选择 kong-1.4.0.el7.amd64.rpm

新建kong文件夹,将rpm文件传到Linux服务器上。然后执行安装命令

$ yum install  kong-1.4.0.el7.amd64.rpm

修改配置文件(安装后会产生一个kong.conf.default文件,稍作修改即可)

$ cp /etc/kong/kong.conf.default /etc/kong/kong.conf

去掉注释符(#)并根据当前环境修改(我们配置的是单机,要将pg_host改成127.0.0.1)

将之前配置的信息修改填入即可

centOS 7 单机安装 kong网关

完成后下一步初始化数据库表

kong migrations up -c  /etc/kong/kong.conf

安装如果出现报错,请参考:如果kong版本低于0.15时,kong migrations bootstrap应改为kong migrations up,>=0.15时使用 bootstrap

可将kong migrations up -c  /etc/kong/kong.conf 改为 kong migrations bootstrap -c  /etc/kong/kong.conf 再试。

我安装的版本使用的 是 kong migrations bootstrap -c  /etc/kong/kong.conf  命令。

下一步启动kong服务:kong start

验证:curl 127.0.0.1:8001

若正常会返回一些信息:

centOS 7 单机安装 kong网关

 

四、nodeJs (安装时间会比较长)

1、wget http://nodejs.org/dist/v8.1.0/node-v8.1.0.tar.gz 

2、yum install gcc openssl-devel gcc-c++ compat-gcc-34 compat-gcc-34-c++

我在安装此步骤中出现报错,提示no packing compat-gcc-34 compat-gcc-34-c++。然后通过rpm包进行了安装

下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=compat-gcc&submit=Search+...&system=centOS+7&arch=

下载:compat-gcc-44-4.4.7-8.el7.x86_64.rpm  ,compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm

rpm -vh compat-gcc-44-4.4.7-8.el7.x86_64.rpm 

rpm -vh compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm

以上结束后解压tar包,进行配置安装

 

tar -xf node-v7.4.0.tar.gz

 

cd node-v7.4.0

 

./configure --prefix=/usr/local/node

 

make && make install(该步骤时间很长)

 

ln -s /usr/local/node/bin/* /usr/sbin/

 

npm 配置

 

npm set prefix /usr/local
echo -e '\nexport PATH=/usr/local/lib/node_modules:$PATH' >> ~/.bashrc
source ~/.bashrc

五、kong Dashboard

 

npm install -g kong-dashboard

 

npm安装时会出现rollbackFailedOptional报错,解决办法:

[root@bogon /]# npm config rm proxy
[root@bogon /]# npm config rm https-proxy
[root@bogon /]# npm install -g cnpm --registry=https://registry.npm.taobao.org

 

开启服务,指定端口号(自己定义)。后续访问通过该端口号

 

kong-dashboard start --kong-url http://localhost:8001 --port 9001

 

 

 

centOS 7 单机安装 kong网关

 

 

 

访问:http://192.168.60.129:9001/

 

 

 

centOS 7 单机安装 kong网关

 

至此所有安装完成

 

上一篇:C# 判断圆与矩形的冲突


下一篇:帝国cms伪静态设置方法(收藏)