首先记录一下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=6379:6379为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。
这些基本上是官网的一些教程,稍微增加了少许容易出错注意的地方,这样就可以了。