当前位置: 首页 > 工具软件 > Tyk > 使用案例 >

Tyk在Ubuntu上安装

晏鸿畅
2023-12-01

首先记录一下Tyk的安装问题(其中有几个误区,后面进行说明)

准备工作

1、安装dasnboard

在此之前需要安装curl命令,已安装的就不用管了,未安装的可以按照下面进行:

 sudo apt-get install curl 然后回车执行就可以了。

重要信息:注意dashboard最后安装完成,会生成一个账户和密码,此账户为你的管理员账户和密码。

安装MongoDb

首先根据Ubuntu APT的要求导入公钥

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

然后创建一个MongoDb源列表文件

    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

重新加载包数据库

    sudo apt-get update

然后运行安装脚本。注意此处(直接把-org去掉,安装就好,之前按照官网这样走了少许弯路,怎么安装都不成功,后来自行安装成功的,当然你也)

    sudo apt-get install -y mongodb-org

安装Redis

    sudo apt-get install -y redis-server


下面开始安装dasnboard,这个是官网的步骤后面会详细注明。

步骤1:设置我们的APT存储库

首先,添加我们的GPG密钥,它们标识我们的二进制文件:

    curl https://packagecloud.io/gpg.key | sudo apt-key add -

运行更新:

    sudo apt-get update

由于我们的存储库是通过HTTPS安装的,因此您需要确保APT支持这一点:

    sudo apt-get install -y apt-transport-https 

现在可以添加所需的repos并再次更新(注意-a第二个Tyk命令中标志 - 这很重要!):

    echo "deb https://packagecloud.io/tyk/tyk-dashboard/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/tyk_tyk-dashboard.list
    
    echo "deb-src https://packagecloud.io/tyk/tyk-dashboard/ubuntu/ trusty main" | sudo tee -a /etc/apt/sources.list.d/tyk_tyk-dashboard.list
    
    sudo apt-get update

我们在这里做的是:

  • 添加了Tyk Dashboard存储库
  • 更新了我们的包清单

步骤2:安装Tyk仪表板

我们现在可以安装Tyk仪表板了。要安装运行:

    sudo apt-get install -y tyk-dashboard

我们在这里做的是指示apt-get安装Tyk仪表板而不提示。等待下载完成。

当Tyk仪表板安装完成后,它将安装一些init脚本,但它将不会运行。下一步将是设置每个应用程序 - 幸运的是,这可以通过三个非常简单的命令完成。

配置Tyk仪表板

先决条件

在继续操作之前,需要确保MongoDB服务正在运行。

我们可以使用辅助设置命令脚本设置仪表板。这将为本地实例设置仪表板:(注意这里的domain,此处可以设置成127.0.0.1, 或者你自己计算机的ip)

    sudo /opt/tyk-dashboard/install/setup.sh --listenport=3000 --redishost=localhost --redisport=6379 --mongo=mongodb://127.0.0.1/tyk_analytics --tyk_api_hostname=$HOSTNAME --tyk_node_hostname=http://localhost --tyk_node_port=8080 --portal_root=/portal --domain="XXX.XXX.XXX.XXX"

注意:确保使用实际的DNS主机名或实例的公共IP作为最后一个参数。

我们在这里做的是:

  • --listenport=3000:告诉Tyk仪表板(和门户)在3000端口上监听。
  • --redishost=localhost:Tyk仪表板应使用本地Redis实例。
  • --redisport=6379:Tyk仪表板应使用默认端口。
  • --domain="XXX.XXX.XXX.XXX":将仪表板绑定到此实例的IP或DNS主机名(必需)。
  • --mongo=mongodb://127.0.0.1/tyk_analytics:使用本地MongoDB(应始终与网关相同)。
  • --tyk_api_hostname=$HOSTNAME:Tyk仪表板不知道为Tyk提供了什么主机名,所以我们需要告诉它,在这种情况下,我们只是使用本地的HOSTNAME env变量,但是可以将其设置为实例的public-hostname / IP 。
  • --tyk_node_hostname=http://localhost:Tyk仪表板需要看到一个Tyk节点才能创建新的令牌,所以我们需要告诉它在哪里可以找到一个,在这种情况下,使用本地安装的。
  • --tyk_node_port=8080:告诉仪表板,它应该通信的Tyk节点在8080端口。
  • --portal_root=/portal:我们希望将门户显示在/portal我们为门户网站设置的任何域上。

步骤1:启动Tyk仪表板

    sudo service tyk-dashboard start

步骤2:输入仪表板许可证

http://your-host-name:3000/

您将看到一个要求许可证的屏幕,请在标有“ 已经有许可证 ”的部分中输入“然后点击Use this license

就这样,您的仪表板现在可以自动启动。

注意:您可以通过/var/opt/tyk-dashboard/tyk_analytics.conf在标记的字段中将您的许可手动添加到文件中来绕过此步骤license

如果一切顺利,您将被带到登录屏幕 - 我们将尽快到达。

步骤3:重新启动仪表板

因为我们刚刚通过UI输入了许可证,所以我们需要确保这些更改已经被提取了,所以为了确保事情顺利运行,我们重新启动仪表板进程(您只需要执行一次),然后启动网关:

    sudo service tyk-dashboard restart 

步骤4:使用初始用户和组织引导仪表板

当Tyk仪表板是第一次创建时,它没有初始的用户群或组织来添加数据,所以我们需要添加。

添加此数据的最佳方法是使用Admin API,以便我们提供一个引导脚本,使您可以设置起来非常简单。如果要自定义它,请查看文件/opt/tyk-dashboard/install/bootstrap.sh

此命令的先决条件

  • 此命令假定您正在Linux shell(如Bash)上运行
  • 此命令假定您已安装Python 2.7或3.4

引导您的实例:注意红色的其实是你的本机IP

    sudo /opt/tyk-dashboard/install/bootstrap.sh XXX.XXX.XXX.XXX

此命令告诉引导脚本使用localhost作为API调用的基础,您可以远程运行引导程序,并将第一个命令行参数更改为实例的DNS主机名。

2、安装Pump(这个按照流程进行就可以)

Tyk Pump负责在您的API网关和仪表板数据库之间移动分析,还可以将数据发送到其他接收器,如ElasticSearch,StatsD和InfluxDB。

Tyk拥有自己的APT存储库,由位于packagecloud.io的人员托管,这使得安装Tyk Pump应用程序的可信分发变得简单,安全和可靠。

教程

本教程将在Amazon AWS Ubuntu Server 14.04 LTS实例上运行。我们将在本地安装所有依赖项的Tyk Pump。

我们正在安装,t2.micro因为这是一个教程,您将需要更多的RAM和更多的核心,以获得更好的性能。

先决条件

  • 您已经安装了MongoDB和Redis。
  • 您已经安装了Tyk Dashboard。

步骤1:设置我们的APT存储库

首先,添加我们的GPGP密钥,用于标识我们的二进制文件:

    curl https://packagecloud.io/gpg.key | sudo apt-key add -

运行更新:

    sudo apt-get update

由于我们的存储库是通过HTTPS安装的,因此您需要确保APT支持这一点:

    sudo apt-get install -y apt-transport-https 

现在可以添加所需的repos并再次更新(注意-a第二个Tyk命令中标志 - 这很重要!):

     echo "deb https://packagecloud.io/tyk/tyk-pump/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/tyk_tyk-pump.list
    
    echo "deb-src https://packagecloud.io/tyk/tyk-pump/ubuntu/ trusty main" | sudo tee -a /etc/apt/sources.list.d/tyk_tyk-pump.list
    
    sudo apt-get update

我们在这里做的是:

  • 添加了Tyk Pump存储库
  • 更新了我们的包清单

步骤2:安装泰克泵

我们现在可以安装Tyk Pump了。要安装它,请运行:

    sudo apt-get install -y tyk-pump

我们在这里做的是指示apt-get安装Tyk Pump而不提示。等待下载完成。

当Tyk Pump安装完成后,它将安装一些init脚本,但它将不会运行。下一步将是设置每个应用程序 - 幸运的是,这可以通过三个非常简单的命令完成。

步骤3:配置Tyk泵

如果您没有完成此步骤,您将不会在仪表板中看到任何分析,所以要启用分析服务,我们需要确保Tyk Pump的运行和配置正确,配置Tyk Pump非常简单:

    sudo /opt/tyk-pump/install/setup.sh --redishost=localhost --redisport=6379 --mongo=mongodb://127.0.0.1/tyk_analytics

步骤4:启动Tyk泵

    sudo service tyk-pump start

您可以通过拖尾日志文件来验证Tyk Pump是否正在运行并正常工作:

    sudo tail -f /var/log/upstart/tyk-pump.log

在Ubuntu上安装Tyk Gateway

Tyk拥有自己的APT存储库,由位于packagecloud.io的人员托管,这使得安装Tyk Gateway堆栈的可信分发变得简单,安全和可靠。

本教程将在Amazon AWS Ubuntu Server 14.04 LTS实例上运行。我们将在本地安装所有依赖项的Tyk Gateway。

我们正在安装,t2.micro因为这是一个教程,您将需要更多的RAM和更多的核心,以获得更好的性能。

先决条件

  • 确保端口8080可用。这在本指南中用于网关流量(API流量要被代理)。
  • 您已安装MongoDB和Redis。
  • 您先安装了Tyk Dashboard,然后安装Tyk Pump。

步骤1:设置我们的APT存储库

首先,添加我们的GPG密钥,它们标识我们的二进制文件:

    curl https://packagecloud.io/gpg.key | sudo apt-key add -

运行更新:

    sudo apt-get update

由于我们的存储库是通过HTTPS安装的,因此您需要确保APT支持这一点:

    sudo apt-get install -y apt-transport-https 

现在可以添加所需的repos并再次更新(注意-a第二个Tyk命令中标志 - 这很重要!):

    echo "deb https://packagecloud.io/tyk/tyk-gateway/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/tyk_tyk-gateway.list
    
    echo "deb-src https://packagecloud.io/tyk/tyk-gateway/ubuntu/ trusty main" | sudo tee -a /etc/apt/sources.list.d/tyk_tyk-gateway.list
    
    sudo apt-get update

我们在这里做的是:

  • 添加了Tyk Gateway存储库
  • 更新了我们的包清单

步骤2:安装Tyk网关

我们现在可以安装Tyk Gateway了。要安装它,请运行:

    sudo apt-get install -y tyk-gateway

我们在这里做的是指示apt-get安装Tyk网关而不提示,等待下载完成。

当Tyk安装完成后,它将安装一些init脚本,但它不会运行。下一步将是设置网关 - 幸运的是,这可以通过三个非常简单的命令完成,但这取决于您是否配置Tyk Gateway以在仪表板中使用或不使用(Community Edition)。

配置Tyk Gateway社区版

您可以使用单个安装脚本设置Tyk Gateway的核心设置,但是对于更多涉及的部署,您将需要提供自己的配置文件。要开始事情,运行:

    sudo /opt/tyk-gateway/install/setup.sh --listenport=8080 --redishost=localhost --redisport=6379 --domain=""

我们在这里做的是告诉安装脚本:

  • --listenport=8080:在端口上侦听8080API流量。
  • --redishost=localhost:使用localhostRedis 的主机名
  • --redisport=63796379为Redis 使用端口
  • --domain="":不要过滤网关的域,有关详细信息,请参阅以下域上的注释。

在这个例子中,我们不希望Tyk在单个域上侦听,我们可以随时在Dashboard的API级别设置自定义域。建议将Tyk Gateway域无限制的灵活性和易于部署。

开始Tyk

Tyk网关现在可以被配置了。使用此commannd启动Tyk网关:

    sudo service tyk-gateway start

使用仪表板配置Tyk网关

先决条件

此配置假设您已经安装了Tyk仪表板,并已决定了仪表板和门户的域名。他们必须是不同的为了测试目的,最容易的是将主机条目添加到(和您的服务器)/etc/hosts文件中。

设置Tyk

您可以使用单个安装脚本设置Tyk Gateway的核心设置,但是对于更多涉及的部署,您将需要提供自己的配置文件。要让事情运行让我们跑:

    sudo /opt/tyk-gateway/install/setup.sh --dashboard=1 --listenport=8080 --redishost=localhost --redisport=6379

我们在这里做的是告诉安装脚本:

  • --dashboard=1:我们想使用仪表板,因为Tyk Gateway从仪表板服务中获取所有的API定义,从v2.3开始,Tyk将自动检测仪表板的位置,我们只需要指定我们应该使用此模式。
  • --listenport=8080:Tyk应该侦听8080端口的API流量。
  • --redishost=localhost:在主机名:localhost上使用Redis。
  • --redisport=6379:使用默认的Redis端口。

专业提示:与Tyk网关的域名

泰科网关内置全域支持,您可以:

  • 设置Tyk只侦听所有API流量的特定域。
  • 设置一个API来侦听特定的域(例如api1.com,api2.com)。
  • 使用路径在域上分割API(例如api.com/api1,api.com/api2,moreapis.com/api1,moreapis.com/api2等)。
  • 如果您设置了网关的主机名,则所有非域绑定的API将在该主机名+ listen_path
这些基本上是官网的一些教程,稍微增加了少许容易出错注意的地方,这样就可以了。
 类似资料: