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

使用trust不需要密码
配置文件修改后需重启服务:$ systemctl restart postgresql-10.service
重启后验证: $ psql -U kong -d kong -h 127.0.0.1 -p 5432

三、Kong 安装
官网下载rpm包:https://docs.konghq.com/install/centos/
根据系统选择对应版本,我使用的是centOS 7,选择 kong-1.4.0.el7.amd64.rpm(kong dashboard 不能完全支持该版本,遂建议不要安装最新版本)
新建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)
将之前配置的信息修改填入即可

完成后下一步初始化数据库表
********************************************************************************
注意:监听接口8001是默认127.0.0.1:8001 需改为
admin_listen = *:8001, 127.0.0.1:8444 ssl
将127.0.0.1 改为*,否则主机无法访问到虚拟机的8001监听端口
*******************************************************************************
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
若正常会返回一些信息:

四、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包进行了安装
下载: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

访问:http://192.168.60.129:9001/

至此所有安装完成
人生在世,杂事七八;饭要少吃,事要多知;抽个时间,总结一下;乐在分享,自在提升
centOS 7单机安装 kong的更多相关文章
- CentOS 7 单机安装Redis Cluster(3主3从)
首先,本篇要基于单实例的安装,你的机器上已经有一个Redishttps://gper.club/articles/7e7e7f7ff7g5egc4g6b 为了节省机器,我们直接把6个Redis实例安装 ...
- CentOS下 RabbitMQ单机安装配置
CentOS RabbitMQ rpm 安装方法: 系统环境:CentOS6IP地址:10.100.62.41 1.erlang安装: erlang下载地址: http://www.rabbitmq. ...
- CentOS单机安装FastDFS&整合Nginx
单机安装 一 准备工作 准备linux服务器或虚拟机,这里是虚拟机,操作系统CentOS 6.4 Tracker 和 Storage 安装在一台机器上 FastDFS 5.08版本 1,准备软件 软件 ...
- CentOS单机安装k8s并部署.NET 6程序 压测 记录
前面部分依照CentOS单机安装k8s并部署.NET 6程序来进行,内存.cpu.centos版本一致,之前222元买的三年8M 2c4g腾讯云轻量服务器,这个教程算是写的很详细的了,基本可以一致执行 ...
- CentOS 7 Hadoop安装配置
前言:我使用了两台计算机进行集群的配置,如果是单机的话可能会出现部分问题.首先设置两台计算机的主机名 root 权限打开/etc/host文件 再设置hostname,root权限打开/etc/hos ...
- Linux下Kafka单机安装配置方法(图文)
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- CentOS Linux 系统 安装oracle 11g
CentOS Linux 系统 安装oracle 11g 在Linux系统上安装oracle是比较麻烦,需要配置各种变量啥的,o(︶︿︶)o ,但是没办法,有些东西你总的去接触,而且接触理解的越早越深 ...
- 单机安装Hadoop
单机安装hadoop ------------------------------------------------------------------ 操作系统:centos7 64 位 hado ...
- cenots7单机安装Kubernetes
关于什么是Kubernetes请看另一篇内容:http://www.cnblogs.com/boshen-hzb/p/6482734.html 一.环境搭建 master安装的组件有: docker ...
随机推荐
- 【转】nodejs接收前端formData数据
很多时候需要利用formdata数据格式进行前后端交互. 前端代码可以是如下所示: <!DOCTYPE html> <html lang="en"> < ...
- 关于form与表单提交操作的一切
原文链接:http://caibaojian.com/form.html 你知道,一个表单里面只要有form元素,如果没有给action加一个默认值,为空白的时候,当你刷新页面时,会弹出一个警告框提示 ...
- VS Code 使用技巧[转载]
原文:VS Code 快捷键(VS Code Shortcuts.pdf) 常用 General 按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show ...
- window 下 某个端口被占用
window 下 某个端口被占用 1. 开始—->运行—->cmd,或者是window+R组合键,调出命令窗口: 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观 ...
- Android:Recents和AMS中历史任务的区别
1.1 任务和返回栈 - 实际数据模型 这个是指在调度体系里实际保存的TaskRecord实例,而ActivityRecord-TaskRecord-ActivityStack之间的关系建议看官方文 ...
- osg::NodeVisitor example
[0]osg::Group [1]osg::MatrixTransform [1] osg::MatrixTransform [1]osg::MatrixTransform [2] osg::Geod ...
- OVS+VXLAN实现两个宿主机上的VM间的通信
一.组网图 说明: 1.使用网络命名空间表示vm1和vm2. 因为我没有两台物理服务器. 2.使用virtualbox 的两条虚机模拟作为host1和host2. 二.配置指导 1.创建网桥 br0 ...
- FastCGI模式编译安装LAMP+Xcache
PHP的工作模式:php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.(已淘汰)FastCGI的方式和apache模块的不同 ...
- ElasticSearch——路由(_routing)机制
前言 一条数据是如何落地到对应的shard上的? 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢? 首先这肯定不会是随机的,否则 ...
- (十四)Centos之安装vsftp服务
一.为什么要安装vsftp服务 我们需要向centos操作系统的服务器上上传文件或者下载文件,这时候,ftp有必要安装下,我们选择主流的vsftp 二.安装 第一步:安装vsftp yum insta ...