openresty+kong+konga+postgresql

article/2025/10/7 10:22:21

一、基础环境配置

1、依赖安装

yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel  libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel lua-devel readline-devel curl wget

perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

依赖模块

make

freetype-devel

cmake

libcurl-devel

gcc

lua-devel

gcc-c++

readline-devel

autoconf

curl

automake

wget

libpng-devel

perl-ExtUtils-Embed

libjpeg-devel

readline-devel

zlib

zlib-devel

libxml2-devel

pam-devel

ncurses-devel

libxml2-devel

bison

libxslt-devel

libtool-ltdl-devel

openldap-devel

libmcrypt

python-devel

mhash

openssl-devel

mcrypt

cmake

pcre-devel

jdk1.8.0_161

openssl-devel

# 下载安装包

wget https://nodejs.org/dist/latest-v10.x/node-v10.24.1-linux-x64.tar.gz

# 解压

tar -zxvf node-v10.24.1-linux-x64.tar.gz

# 创建目录,并移动解压文件到目录中重命名

mkdir /usr/local/lib/node

mv node-v10.24.1-linux-x64 /usr/local/lib/node/nodejs

# 设置环境变量

vim /etc/profile

export NODEJS_HOME=/usr/local/lib/node/nodejs

export PATH=$NODEJS_HOME/bin:$PATH

# 刷新配置

source /etc/profile

# 安装完成查看版本号

npm -v

node -v

二、Openresty安装部署配置

1、下载

下载wget https://openresty.org/download/openresty-1.19.3.2.tar.gz

2、下载缓存插件

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

tar -zxvf ngx_cache_purge-2.3.tar.gz

tar -zxvf openresty-1.19.3.2.tar.gz  #默认解压到/usr/local

3、安装步骤

cd  openresty-1.19.3.2  #下载文件目录

mkdir modules  # 把刚解压的ngx_cache_purge移动到该目录下

修改解压目录名

mv openresty-1.19.3.2 openresty

#编译安装基本模块

#进入解压目录进行编译

./configure --prefix=/usr/local/openresty --with-luajit  --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module=/usr/local/openresty/modules/ngx_cache_purge-2.3  #路径需要与解压名路径相同

当前目录下安装 /usr/local/ openresty

gmake  && gmake install

4、环境变量设置

#到环境变量配置文件中添加配置

vim /etc/profile

#添加配置

export PATH=$PATH:/usr/local/openresty/nginx/sbin/

#刷新配置

source /etc/profile

查看安装版本

# 小写v

nginx –v

修改监听端口,防止冲突,若没有冲突保持默认端口执行

vim /usr/local/openresty/nginx/conf/nginx.conf

#lua模块测试,不能有同时的location选用同样路径,会发生冲突

启动openresty和测试openresty

#路径都为所编译目录下

/usr/local/openresty/nginx/sbin/nginx  -c /usr/local/openresty/nginx/conf/nginx.conf

或者

cd /usr/local/openresty/nginx/sbin

./nginx -c /usr/local/openresty/nginx/conf/nginx.conf

#测试是否出现openresty欢迎界面,其中ip换为对应部署机ip和端口

curl  http://192.16.137.187:82/

三、PostgreSQL安装部署配置

1、下载

安装包下载地址

#为软件包下载到本地使用,不可直接在命令行

PostgreSQL: File Browser

2、安装步骤

cd  /usr/local

wget  https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.gz

#解压到当前路径

tar -zxvf postgresql-10.0.tar.gz

#进入解压目录

cd  /usr/local/ postgresql-10.0

./configure --prefix=/usr/local/postgresql-10.0

make

make install

3、创建用户组postgres并创建用户postgres

创建组

groupadd postgres

创建用户

useradd -g postgres postgres

id postgres

4、创建postgresql数据库的数据主目录并修改文件所有者

cd   /usr/local/ postgresql-10.0

madir data

chown postgres:root data  #更改该数据目录所有者

  

5、配置环境变量

cd /home/postgres

vim .bash_profile 

#路径名为解压安装路径名

export PGHOME=/usr/local/postgresql-10.0

export PGDATA=/usr/local/postgresql-10.0/data

PATH=$PATH:$HOME/bin:$PGHOME/bin

刷新环境变量

source /home/postgres/.bash_profile

6、切换用户到postgres并使用initdb初使用化数据库

su – postgres

initdb

可以看到 /pgsql/postgresql/data已经有文件了

cd  /usr/local/postgresql/data/

ls   #查看到有大量文件即为初始化成功

7、修改/usr/local/postgresql-10.0/data目录下的两个文件。

vim postgresql.conf  #首先进入pgdb配置文件目录

listen_addresses = '*'                  # what IP address(es) to listen on;

                                        # comma-separated list of addresses;

                                        # defaults to 'localhost'; use '*' for all

                                        # (change requires restart)

port = 5432                            # (change requires restart)

vim pg_hba.conf 

找到最下面这一行 ,这样局域网的人才能访问。红色为新添加内容。

# IPv4 local connections:

host    all             all             0.0.0.0/0                  trust

host    all             all             127.0.0.1/32               trust

8、设置PostgreSQL开机自启动

cd /usr/local/postgresql-10.0/contrib/start-scripts/

#切换为root用户(从),修改linux文件属性,添加X属性

chmod a+x linux

复制linux文件到/etc/init.d目录下,更名为postgresql

cp linux /etc/init.d/postgresql

修改/etc/init.d/postgresql文件的两个变量

prefix设置为postgresql的安装路径

PGDATA设置为postgresql的数据目录路径

# Installation prefix

prefix=/usr/local/postgresql-10.0

# Data directory

PGDATA="/usr/local/postgresql-10.0/data"

设置postgresql服务开机自启动

chkconfig --add postgresql

chkconfig

postgresql         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

#执行service postgresql start,启动PostgreSQL服务

cd /etc/init.d/

service postgresql start

查看服务

ps -ef | grep postgres

开始测试

$ su - postgres

$ psql

创建kong用户和数据库,修改所属owner

postgres=# create user kong password '123456';

CREATE ROLE

postgres=# ALTER ROLE kong SUPERUSER;

ALTER ROLE

postgres=# create database kong;

CREATE DATABASE

kong=# alter database kong owner to kong;

ALTER DATABASE  

创建konga用户和数据库

postgres=# create user konga password '123456';

CREATE ROLE

postgres=# ALTER ROLE konga SUPERUSER;

ALTER ROLE

postgres=# create database konga;

CREATE DATABASE

postgres=# \q

重新登录数据库

psql -U kong -d kong -h 172.16.137.187

查看数据库

kong=# \l

四、Kong安装部署配置

1、下载源包

curl -Lo kong-enterprise-edition-3.0.0.0.rpm $( rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/Packages/k/kong-enterprise-edition-3.0.0.0.rhel%{rhel}.amd64.rpm")

2、安装部署

安装

sudo yum install kong-enterprise-edition-3.0.0.0.rpm

#进入kong配置文件目录

cd /etc/kong/

#拷贝默认的配置到新建的kong.conf

cp kong.conf.default kong.conf

#编辑配置

vim /etc/kong/kong.conf

#在这个文件里 你会发现kong的默认配置中有名为kong数据库和kong账号。

#我们之前配置过kong数据和账户了。所以这里用kong

# 修改数据库配置

database = postgres             # Determines which of PostgreSQL or Cassandra

pg_host = 172.16.137.187            # 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 = 你自己的kong的密码           # The password to authenticate if pg_database = kong              # The database name to connect to.

3、对数据库Kong中进行初始化

cd  /usr/local/bin

./kong migrations bootstrap [-c /etc/kong/kong.conf]

启动

./kong start [-c /etc/kong/kong.conf]

验证:

curl -i http://localhost:8001/

nodejs安装

# 下载安装包

wget https://nodejs.org/dist/latest-v10.x/node-v10.24.1-linux-x64.tar.gz

# 解压

tar -zxvf node-v10.24.1-linux-x64.tar.gz

# 创建目录,并移动解压文件到目录中重命名

mkdir /usr/local/lib/node

mv node-v10.24.1-linux-x64 /usr/local/lib/node/nodejs

# 设置环境变量

vim /etc/profile

export NODEJS_HOME=/usr/local/lib/node/nodejs

export PATH=$NODEJS_HOME/bin:$PATH

# 刷新配置

source /etc/profile

# 安装完成查看版本号

npm -v

node –v

五、Konga安装部署配置(docker安装)

脚本快速安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

systemctl enable --now docker

docker version

docker创建kong-net网关

docker network create kong-net

1、初始化

docker pull konga

初始化 konga

docker run --rm \

  --network=kong-net \

  pantsel/konga -c prepare -a postgres -u postgresql://konga:123456@172.16.137.187:5432/konga

2、安装

docker run -p 1337:1337 -e "TOKEN_SECRET=Nike123#" -e "DB_ADAPTER=postgres" -e "DB_HOST=172.16.131.71" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=123456" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga

3、映射kong的端口(使konga可以与kong

连接)

Kong 默认的代理地址:

proxy_listen = 0.0.0.0:8000, 0.0.0.0:8443

kong默认的管理地址:

admin_listen = 127.0.0.1:8001, 127.0.0.1:8444 ssl

修改kong的配置文件kong.conf

vim /etc/kong/kong.conf

添加下面一行

admin_listen = 0.0.0.0:8001, 0.0.0.0:8444 ssl

重启kong

cd /usr/local/bin

./kong start [-c /etc/kong/kong.conf]

在系统环境变量中加如下配置

Vim /etc/profile

export KONG_ADMIN_LISTEN=0.0.0.0:8001,0.0.0.0:8444 ssl

source /etc/profile

4、验证

http://localhost:1337

###docker 一直挂掉解决:--restart=always

六、UI页面Konga连接Kong操作

1、使用ip:1337登录页面后首先创建admin用户

2、创建完成后,使用用户登录,然后连接kong

3、连接完成后边栏显示此界面

七、测试添加服务和路由

1、创建service,需要修改以下四项,为对应服务的IP地址

2、修改route需要修改以下三项,hosts和paths都为自定义地址,path handling选v0

       

3、测试

curl -k http://localhost:8000/test/2048/ --header 'Host: test-2048.com'

#无法从web页面访问

4、从命令行添加服务和路由命令

#创建服务

curl -i -k -X POST --url http://localhost:8001/services/ --data 'name=lecun-service' --data 'url=https://proxyapi.letstorage.com/'

#创建路由

curl -ik -X POST --url http://localhost:8001/services/lecun-service/routes --data 'hosts[]=con-lecun.com' --data 'paths[]=/test/lecun'


http://chatgpt.dhexx.cn/article/f6XP1dc8.shtml

相关文章

Linux安装云原生网关Kong/KongA

目录 1 概述2 创建服务器3 安装postgres4 安装kong5 安装node6 安装KONGA 1 概述 Kong Kong是一款基于OpenResty(NginxLua模块)编写的高可用、易扩展的开源API网关,专为云原生和云混合架构而建,并针对微服务和分布式架构进行了特…

kong笔记——kong/konga的搭建

kong笔记 目录导航 本篇及以后的此系列文章皆为实战篇 版本介绍(重点,重点,一定要观察版本,防止不兼容情况!!): kong 2.5.0 konga 0.14.9 pgsql 9.6 linux centos 7 简述 对于kong的搭建,官网…

KONG和KONGA部署及配置

个人理解,仅供参考: 首先,kongkonga除去其他高级功能,个人觉得就是把nginx,变成可以页面配置的了。比如,配置的router,service就是反向代理,配置upstream就是负载均衡。 本文只介绍K…

KONG管理界面KONGA安装使用

功能 管理所有Kong Admin API的对象.从数据库、文件和API等导入Consumers。管理Kong多个节点。备份、恢复、迁移Kong Nodes使用快照。使用健康检测监控节点和API状态。Email和Slack消息通知支持多管理用户和设置不同权限支持数据库MySQL, postgresSQL, MongoDB, SQL Server。 …

Konga 使用说明

1、概要 konga 目前作为一个查看 kong 配置的平台使用,具体在设置 kong 参数时,仍存在一定问题。目前配置在 kong dashbord 较为方便。 2、konga 使用 1)环境选择 步骤 2 中点选对应环境的小星星。步骤如下: connections.png …

儿童编程积木

学习机器人编程必须运用到各种知识,包括数学、物理、科学以及自然等课本理论知识,只有熟悉掌握了这些,才能运营一个机器人,让它完成规定的动作。格物斯坦小坦克认为学习机器人就是学习一种机器人编程思维。 基于机器人的科学探究实…

scratch(图形化编程工具)做3.0版本的猫咪积木模拟器。

视频效果如下: 代码部分如下: 猫咪积木素材如下,有N个造型动作: 好了,今天的内容就分享到这里了。 好了,今天的教程就分享到这里吧。 本篇文章完整代码和素材我已经放到VIP的QQ群文件中,大家自行下载&#…

数组积木问题 c语言,全排列算法及解决数字搭积木问题

如果你是做这道题不会,那么你可以看这道题的解题思路,如果你是不太理解全排列算法,那么你可以通过这个题来理解。 题目描述: 小明最近喜欢搭数字积木。一共有10块积木,每个积木上有一个数字,0~9。 搭积木规…

Vue实现图形化积木式编程(一)

Babylon.js基础场景搭建 路由前言最终实现效果本文实现效果技术选型1.前端2.后端 完整代码代码分解0.npm安装相关依赖1.引入模块2.场景初始化3.ArcRotateCamera 相机初始化4.灯光初始化5.地面初始化5-1. 绿地5-2.网格地面 6.正方体物体初始化7.天空盒初始化 后续计划Babylon.js…

Vue实现图形化积木式编程(十二)

执行Blockly生成代码 路由下一篇历史回顾Babylon.js部分Blockly部分 前言最终实现效果本文内容实现思路问题分析问题原因不优雅解决优雅解决 完整代码 后续计划开源项目GitHub链接资源下载链接你的点赞是我继续编写的动力 路由 下一篇 Vue实现图形化积木式编程(十三) ---- 步…

Vue实现图形化积木式编程(二)

Babylon.js加载模型到场景中 路由下一篇历史回顾 前言最终实现效果本文实现效果完整代码操作分解(Babylon.js模型格式转换与导入)0.在开源模型网上下载一个模型/自己制作一个1.转换为.babylon文件2.将模型文件放在服务器上方案一(最新发现的方…

python积木式编程_TurnipBit—MicroPython开发板:从积木式编程语言开始学作小小创客...

编程、建模、制做动画和游戏……这些当初咱们默认只有成年人玩得转的事情,如今早已经被无数小孩子给颠覆甚至玩出新境界了。热爱科技和动手的“创客”(Maker)如今在全世界都煊赫一时。今年以来,对青少年的创客教育在中国不管是庙堂仍是大众而言亦是热门话题。编程 从TurnipBi…

c++手机编程软件_积木编程软件手机版下载-积木编程软件下载v1.0.1 安卓版

积木编程软件是可以在线可以学习编程的软件,平台给用户提供了大量的编程学习教程,软件还支持在线编程,学习内容丰富,让用户学习起来不会枯燥乏味,就算你是零基础的小白,也可以体验到编程的乐趣。 积木编程官方简介 积木…

Vue实现图形化积木式编程(十三)

步骤运行代码块高亮 路由历史回顾Babylon.js部分Blockly部分 前言最终实现效果本文内容实现1. 安装依赖2. 简化语法3. 引入js解析器4. 运行代码5. 加入高亮 完整代码本文章的用例代码已经同步到github上,运行程序后访问链接即可查看效果: [http://localhost:3000/#/…

搭积木php编程,Primo Toys,一款可以同时搭积木与编程的玩具

原标题:Primo Toys,一款可以同时搭积木与编程的玩具 时下社会,“编程”一词早已不是成人世界的一个职业,如今,编程能力就像蜗牛日常的读写一样,渗透到孩子生活的方方面面,不论是APP,游戏&#x…

python的积木式编程

edu.codemao.cn https://wood.codemao.cn/ https://static.codemao.cn/wood_docs/web/code/Control.html 编程猫和scratch大同小异,和其他Python平台相比较: 优势: 支持硬件编程丰富的Python库积木/代码一键转换搭积木 学编程使用方便&a…

c语言的积木编程,c语言入门第3节,掌握它就能随心所欲的编程了,自己造积木...

前面两节介绍了如何快速搭建 C 语言开发学习环境,并且给出并解释了 hello world 的代码。上一节介绍了C语言的函数,应该注意到,到目前为止,我们使用的函数都是现有的系统函数(例如 printf,sin 等函数)。事实上&#xf…

等边三角形的积木编程

用Scratch里的画笔,可以很方便的画出等边三角形。步骤如下: 1、定义"等边三角形"积木 点击Scratch里的"自制积木" --》制作新的积木 --》直线 --》添加4个参数,如图(1)、(2)所示: 图(1) 定义"等边三角…

积木编程软件

当然这种观点是很荒谬的,不会编程不等于文盲。虽然大多数父母都有文化和读写能力,但是大多数父母都不是程序员,也不知道程序员需要什么样的技能。格物斯坦认为:针对孩子们的编程书籍给出的都是一些问题的“标准”答案。如果你的孩…

金字塔的积木编程

金字塔是一个上尖下方的四面体,它的截面是一个三角形,可以用长方形的砖块去堆叠成一个大的三角形来表示金字塔。     下面介绍使用Scratch来画金字塔。 1、定义"砖块"积木 图(1) 定义"砖块"积木 图(2) "砖块"积木代码 …