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/

至此所有安裝完成
人生在世,雜事七八;飯要少吃,事要多知;抽個時間,總結一下;樂在分享,自在提升
