美文网首页
kong API网关服务安装

kong API网关服务安装

作者: Eraz | 来源:发表于2017-02-27 16:26 被阅读0次

    Install Kong Api gateway

    CentOS 系统直接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数据库

    kong支持PostgreSQL 9.4+ 和 Cassandra 2.2.x 数据库,这里以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

    * 创建postgres系统用户,yum安装的又自动创建用户
    

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

    * 初始化数据目录
    

    先修改下家目录

    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服务脚本

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

    * 启动服务 
    `systemctl start postgresql-9.4` 
    * postgresql 连接配置
    
    配置项 | 默认值 | 说明
    --- | --- | ---
    listen_addresses | localhost | * - 允许所有可用连接<br/>0.0.0.0 - 允许所有ipv4连接<br/>:: - 允许所有ipv6链接
    port | 5432 | 服务侦听的端口
    max_connections | 100 | 最大连接数
    superuser_reserved_connections | 3 | 必须小于 max_connections,专为superuser保留的连接数
    unix_socket_directories | /tmp | socket 监听目录,多个目录用,隔开,空字符串则禁用socket连接
    unix_socket_group | 默认为空 | 默认使用服务用户的所有组
    unix_socket_permissions | 0777 | socket文件的权限
    * 安全与验证配置
    
    配置项 | 默认值 | 说明
    --- | --- | ---
    authentication_timeout | 1m | 验证超时时间 
    ssl | off | 是否开启ssl加密连接
    ssl_ca_file | 默认为空 | 如使用相对路径则是相对于PGDATA目录
    ssl_cert_file | server.crt | 如使用相对路径则是相对于PGDATA目录
    ssl_crl_file | 默认为空 | 如使用相对路径则是相对于PGDATA目录
    ssl_key_file | server.key | 如使用相对路径则是相对于PGDATA目录
    ssl_ciphers | `HIGH:MEDIUM:+3DES:!aNULL` | 
    password_encryption | on | 在CREATE USER 或 ALTER ROLE 未指定 ENCRYPTED/UNENCRYPTED 时是否加密密码
    db_user_namespace | off | 是否启用单库单用户名
    
    ### 为kong创建数据库与用户
    

    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

    编辑以下内容

    database = postgres # 数据库类型 postgres/cassandra
    pg_host = 127.0.0.1 # 数据库主机地址
    pg_port = 5432 # 数据库侦听端口
    pg_user = kong # 用户名
    pg_password = password # 密码
    pg_database = kong # 数据库名
    pg_ssl = off
    pg_ssl_verify = off

    
    ### 启动kong服务
    

    kong start

    验证下

    curl 127.0.0.1:8001

    ### 关闭kong服务
    

    kong stop

    
    ### 重载kong服务
    

    kong reload

    相关文章

      网友评论

          本文标题:kong API网关服务安装

          本文链接:https://www.haomeiwen.com/subject/ykwzwttx.html