Centos7單機部署kong

Centos7單機部署kong文檔步驟

前置步驟:已安裝jdk1.8和tomcat

部署環境:centos7

目標任務:kong: v0.14.x, postgresql: v10.5(注意:psql版本必須與kong版本對應)

耗時任務:nodejs的安裝(40+分鐘)

安裝依賴包

安裝gcc編譯環境

$ yum install -y gcc gcc-c++
pcre安裝

nginx 的 http 庫使用 pcre 解析正則表達式。

$ yum install -y pcre pcre-devel
zlib安裝

zlib 庫提供多種壓縮和加壓縮的方式。

$ yum install -y zlib zlib-devel
openssl安裝

openssl 是一個請打的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議

$ yum install -y openssl openssl-devel

postgresql 部署  

PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本。可靠性是PostgreSQL的最高優先級。Kong 默認使用 postgresql 作爲數據庫。

這裏安裝kong的版本是0.14對應的psql版本需要在v10+,否則啓動kong會報錯

安裝psql-10

$ yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/pgdg-centos10-10-2.noarch.rpm
$ yum install -y postgresql10-server postgresql10-contrib
初始化數據庫

$ /usr/pgsql-10/bin/postgresql-10-setup initdb
設置成centos7開機自啓動

systemctl enable postgresql-10.service
啓動postgresql服務

# 啓動服務
$ systemctl start postgresql-10.service
# 查看psql運行狀態
$ systemctl status postgresql-10.service


Postgresql配置

執行完初始化任務之後,postgresql 會自動創建和生成兩個用戶和一個數據庫:

  linux 系統用戶 postgres:管理數據庫的系統用戶;

  postgresql 用戶 postgres:數據庫超級管理員;

  數據庫 postgres:用戶 postgres 的默認數據庫;

  密碼由於是默認生成的,需要在系統中修改一下。

修改初始密碼

$ passwd postgres
輸入: postgres
創建用戶

爲了安全以及滿足 Kong 初始化的需求,需要在建立一個 postgre 用戶 kong 和對應的 linux 用戶 kong,並新建數據庫 kong。

# 新建 linux kong 用戶
$ adduser kong

 # 使用管理員賬號登錄 psql 創建用戶和數據庫
# 切換 postgres 用戶
# 切換 postgres 用戶後,提示符變成 `-bash-4.3$` 
$ su postgres
# 進入psql控制檯,此時會進入到控制檯(系統提示符變爲'postgres=#')
bash-4.2$ psql

 
#建立新的數據庫用戶(和之前建立的系統用戶要一樣)
postgres=# create user kong with password 'kong';
#爲新用戶建立數據庫
postgres=# create database kong owner kong;
#把新建的數據庫權限賦予 kong
postgres=# grant all privileges on database kong to kong;
#退出控制檯
postgres=# \q
bash-4.2$ exit;
注意:在 psql 控制檯下執行命令,一定記得在命令後添加分號。

配置修改:

1、postgres的對外訪問策略

認證權限配置文件爲 /var/lib/pgsql/10/data/pg_hba.conf, 將6項配置修改爲如下:

(

集羣內所有節點都需要增加加入配置:

讓10.200.10.0~10.200.10.154的IP段能訪問PostgreSQL 數據庫,需要增加下面一行

host   all             all           10.86.12.0/24                  trust

)

2、pgsql開啓遠程訪問

修改配置文件  /var/lib/pgsql/10/data/postgresql.conf ,

將 listen_address去掉註釋並設置值爲 '*'


$ vim var/lib/pgsql/10/data/postgresql.conf
listen_addresses = '*'            # what IP address(es) to listen on;
 

3、修改以上兩個配置文件後,重啓postgresql服務:

$ systemctl restart postgresql-10.service
(若起不來,刪除它的/root/data/postmaster.pid文件重試)

 $ psql -U kong -d kong -h 127.0.0.1 -p 5432

 kong=> \q     然後\q退出


kong部署

kong這塊按照官網的方法不成功,最終下載了rpm包安裝成功的。

下載kong

地址:https://docs.konghq.com/install/centos/?_ga=2.170317352.921280320.1539743753-1583657631.1536313213

根據環境選擇對應版本下載,因爲測試環境是centos7.5,所以點擊Centos7下載

安裝kong

$ yum install kong-community-edition-0.14.1.el7.noarch.rpm
安裝過程選擇y繼續
新建並修改 kong 的配置文件

默認配置文件位於 /etc/kong/kong.conf.default

$ cp /etc/kong/kong.conf.default /etc/kong/kong.conf

將之前安裝配置好的 postgresql 信息填入 kong 配置文件中:

$ vi /etc/kong/kong.conf
去掉註釋並根據當前環境修改(集羣中非本節點服務器時,要將pg_host改成服務器ip)

初始化數據庫表

$ kong migrations up -c  /etc/kong/kong.conf
啓動kong服務

$ kong start 
測試kong是否正確啓動

$ curl 127.0.0.1:8001
準備kong環

安裝nodejs

wget http://nodejs.org/dist/v7.4.0/node-v7.4.0.tar.gz

yum install gcc openssl-devel gcc-c++ compat-gcc-34 compat-gcc-34-c++

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
先決條件:已安裝了nodejs和npm

安裝Kong Dashboard
npm install -g kong-dashboard

 # 
用一個沒有被佔用的端口啓用
 Kong Dashboard 
kong-dashboard start --kong-url http://localhost:8001
如果8001被佔用,可以用別的端口啓用,比如:
kong-dashboard start --kong-url http://localhost:8001 --port 9001

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章