kong API網(wǎng)關(guān)服務(wù)安裝

Install Kong Api gateway

CentOS 系統(tǒng)直接yum安裝

  • 配置yum源
    • 直接下載repo文件

cd /etc/yum.repos.d/
wget https://bintray.com/mashape/kong-rpm-el7-0.9.x/rpm -O bintray-mashape-kong-rpm-el7-0.9.x.repo
```

  • 或者直接編輯repo文件

cat>/etc/yum.repos.d/bintray-mashape-kong-rpm-el7-0.9.x.repo<<EOF
[bintraybintray-mashape-kong-rpm-el7-0.9.x]
name=bintray-mashape-kong-rpm-el7-0.9.x
baseurl=https://dl.bintray.com/mashape/kong-rpm-el7-0.9.x
gpgcheck=0
repo_gpgcheck=0
enabled=1
EOF
```

  • yum clean all && yum makecache
  • yum install kong -y

安裝PostgreSQL9.4數(shù)據(jù)庫(kù)

kong支持PostgreSQL 9.4+ 和 Cassandra 2.2.x 數(shù)據(jù)庫(kù),這里以PostgreSQL為例

yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
yum makecache
yum install postgresql94-server postgresql94-contrib -y

* 創(chuàng)建postgres系統(tǒng)用戶(hù),yum安裝的又自動(dòng)創(chuàng)建用戶(hù)

shell> id postgres
uid=26(postgres) gid=26(postgres) 組=26(postgres)

* 初始化數(shù)據(jù)目錄

先修改下家目錄

rsync -avP /var/lib/pgsql /home/
usermod -d /home/pgsql postgres
su - postgres
/usr/pgsql-9.4/bin/initdb -D /home/pgsql/data

postgresql 安裝到了 /usr/pgsql-9.4,可以考慮加到PATH,export PATH=$PATH:/usr/pgsql-9.4/bin

修改下systemctl服務(wù)腳本

sed -i 's@^Environment=PGDATA=.*$@Environment=PGDATA=/home/pgsql/data@g' /usr/lib/systemd/system/postgresql-9.4.service

* 啟動(dòng)服務(wù) 
`systemctl start postgresql-9.4` 
* postgresql 連接配置

配置項(xiàng) | 默認(rèn)值 | 說(shuō)明
--- | --- | ---
listen_addresses | localhost | * - 允許所有可用連接<br/>0.0.0.0 - 允許所有ipv4連接<br/>:: - 允許所有ipv6鏈接
port | 5432 | 服務(wù)偵聽(tīng)的端口
max_connections | 100 | 最大連接數(shù)
superuser_reserved_connections | 3 | 必須小于 max_connections,專(zhuān)為superuser保留的連接數(shù)
unix_socket_directories | /tmp | socket 監(jiān)聽(tīng)目錄,多個(gè)目錄用,隔開(kāi),空字符串則禁用socket連接
unix_socket_group | 默認(rèn)為空 | 默認(rèn)使用服務(wù)用戶(hù)的所有組
unix_socket_permissions | 0777 | socket文件的權(quán)限
* 安全與驗(yàn)證配置

配置項(xiàng) | 默認(rèn)值 | 說(shuō)明
--- | --- | ---
authentication_timeout | 1m | 驗(yàn)證超時(shí)時(shí)間 
ssl | off | 是否開(kāi)啟ssl加密連接
ssl_ca_file | 默認(rèn)為空 | 如使用相對(duì)路徑則是相對(duì)于PGDATA目錄
ssl_cert_file | server.crt | 如使用相對(duì)路徑則是相對(duì)于PGDATA目錄
ssl_crl_file | 默認(rèn)為空 | 如使用相對(duì)路徑則是相對(duì)于PGDATA目錄
ssl_key_file | server.key | 如使用相對(duì)路徑則是相對(duì)于PGDATA目錄
ssl_ciphers | `HIGH:MEDIUM:+3DES:!aNULL` | 
password_encryption | on | 在CREATE USER 或 ALTER ROLE 未指定 ENCRYPTED/UNENCRYPTED 時(shí)是否加密密碼
db_user_namespace | off | 是否啟用單庫(kù)單用戶(hù)名

### 為kong創(chuàng)建數(shù)據(jù)庫(kù)與用戶(hù)

CREATE ROLE kong LOGIN ENCRYPTED PASSWORD 'xxxxxxxx' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE kong_db WITH ENCODING='UTF8' OWNER=kong;


## 配置kong

cd /etc/kong/
cp kong.conf.default kong.conf

編輯以下內(nèi)容

database = postgres # 數(shù)據(jù)庫(kù)類(lèi)型 postgres/cassandra
pg_host = 127.0.0.1 # 數(shù)據(jù)庫(kù)主機(jī)地址
pg_port = 5432 # 數(shù)據(jù)庫(kù)偵聽(tīng)端口
pg_user = kong # 用戶(hù)名
pg_password = password # 密碼
pg_database = kong # 數(shù)據(jù)庫(kù)名
pg_ssl = off
pg_ssl_verify = off


### 啟動(dòng)kong服務(wù)

kong start

驗(yàn)證下

curl 127.0.0.1:8001

### 關(guān)閉kong服務(wù)

kong stop


### 重載kong服務(wù)

kong reload

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容