一、基础环境配置
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、下载
安装包下载地址
#为软件包下载到本地使用,不可直接在命令行
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'