首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Google App Engine上托管多个客户网站

在Google App Engine上托管多个客户网站
EN

Stack Overflow用户
提问于 2019-03-28 05:37:16
回答 2查看 369关注 0票数 1

我们目前在Kubernetes中托管了大量的容器化网站,我们正在探索使用Google App Engine来托管这些网站,但我们无法弄清楚如何在一个Google App Engine帐户中托管大量(数百个)网站。

乍一看,似乎每个网站都是一个独立的项目,但后来很明显,有20个项目的软限制(我们可能最终会托管数百个网站),所以这似乎不是正确的方法。然后,我们探索了如何使用带有dispatch.yaml的单个项目在站点之间进行路由。Dispatch.yaml只允许10个条目,这意味着它将无法工作。我们还遗漏了其他方法吗?我们的dispatch.yaml路由如下所示:

代码语言:javascript
复制
  - url: "example2.com/*"
    service: my-second-website

我们探索的选项都没有提供可扩展或可行的解决方案。任何帮助或建议都将非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2019-03-29 20:37:07

您需要的是一个具有多个服务的App Engine实例(每个网站一个)和每个服务中的多个版本(如果需要)。

例如:

代码语言:javascript
复制
App Engine instance
    ├── website01-service
    │   ├── website01-version01
    │   ├── website01-version02
    │   └── website01-version03
    │
    └── website02-service
        ├── website02-version01
        ├── website02-version02
        └── website02-version03

这是Quickstart for Python 3 in the App Engine Standard Environment文档中的示例设置。

  1. 按照Download the Hello World app部分的说明从git存储库下载文件。
  2. hello_world示例文件复制到两个不同的目录中。例如,website01应该有这样的内容:

代码语言:javascript
复制
├── website01
│   ├── app.yaml
│   ├── main.py
│   ├── main_test.py
│   └── requirements.txt
└── website02
    ├── app.yaml
    ├── main.py
    ├── main_test.py
    └── requirements.txt

  1. In website01/app.yaml add service: website01和in website02/app.yaml add service: website02。这会将每个app部署到不同的App Engine服务中,
  2. website01/main.py change return 'First website!'website02/main.py change return 'Second website!'中(这只是为了在部署后确认有两个不同的网站在运行),
  3. /website01目录下执行$ gcloud app deploy --version website01-version01,在/website02目录下执行code成功部署。你应该会在谷歌云控制台>应用程序引擎>服务页面中看到两个不同的版本运行。
  4. 当点击这两个链接时,新的标签将打开,你将看到你的两个不同的网站运行在同一个应用程序引擎实例中,有两个不同的链接。链接应如下所示:

代码语言:javascript
复制
website01 -> https://website01-dot-[PROJECT_ID].appspot.com/
website02 -> https://website02-dot-[PROJECT_ID].appspot.com/
票数 3
EN

Stack Overflow用户

发布于 2019-03-28 06:05:44

您是否尝试过请求增加您的项目限制?我认为这是唯一有效的方法。

如果您尝试超出您的项目限制,控制台将提示您填写一份申请表。当您尝试创建项目但已达到配额时,就会发生这种情况。该表单将要求您指定所需的附加项目数量,以及相应的电子邮件帐户、帐单帐户和预期用途。

https://support.google.com/cloud/answer/6330231?hl=en

您可以使用单个项目和单个服务/app.yaml完成此操作,如果您同意每个网站的url如下所示:

  1. www.website1.com/website1/
  2. www.website2.com/website2/
  3. www.website3.com/website3/
  4. etc

然后,您可以使用app.yaml中的handlers进行路由(以及一些轻量级服务器代码,以便在有人试图访问www.website1.com/website2/时进行重定向)。这样做的最大问题是,每次部署时,您都会部署所有100个站点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55386844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档