openresty+kong+konga+postgresql

一、基础环境配置

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:[email protected]: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'

猜你喜欢

转载自blog.csdn.net/love_THL/article/details/127727235