【问题标题】:deploy multiple independent applications to appengine将多个独立的应用程序部署到 appengine
【发布时间】:2021-02-01 00:19:01
【问题描述】:

根据官方文档,每个项目只能有一个应用引擎实例, 我的问题是,是否可以将多个独立的 django 应用程序部署到 appengine ? 换句话说,使用 appengine 作为 django 应用程序的托管平台。

在文档或教程中我没有看到类似的东西

用它来部署多个独立的wordpress实例怎么样?

提前致谢

【问题讨论】:

    标签: google-app-engine google-cloud-platform


    【解决方案1】:

    您要查找的内容称为App Engine Services

    正如您所提到的,每个项目只能有 1 个 App Engine 应用程序,但该应用程序可以有多个服务,根据您的情况可以翻译为多个应用程序。

    每个服务都有自己的app.yaml。假设您有以下结构:

    Apps/
    ├── app1
    │   ├── app.yaml
    │   └── django_files
    ├── app2
    │   ├── app2.yaml
    │   └── django_files
    ├── app3
    │   ├── app3.yaml
    │   └── django_files
    └── app4
        ├── app4.yaml
        └── django_files
    

    那么app.yaml 可以包含以下内容:

    runtime: python38
    
    #no adding the service: because this will be the default service or app
    #more configs go here...
    

    对于 app2.yaml

    runtime: python38
    service: app2
    #more configs go here...
    

    您会注意到我们添加了service 配置,该配置定义了此应用将部署到哪个服务。如果未定义service,应用将始终部署到默认服务。

    服务是隔离的,即它们不通信,但如果需要,它们可以interact between them

    最后,您可以将每项服务映射到自定义域。例如,mydomain.com 可以路由到默认应用,app2.mydomain.com 可以路由到第二个,依此类推。您可以了解如何映射自定义域 here 以及如何将请求路由到您的服务 here

    【讨论】:

      【解决方案2】:

      上一个答案是实现您想要做的事情的正确答案。但是,我写这个答案是为了告诉你不要这样做!

      • 要免费创建项目,您可以为每个应用创建 1 个项目。
      • 使用 App Engine,您可以每天和每个项目免费使用 28 小时的 F1 实例。每个新项目都允许您利用这个免费层!
      • wordpress实例不同,所以数据库不同。如果您使用相同的项目,则使用相同的数据库。您还可以为每个应用创建不同的数据库(或同一数据库实例中的架构),但最终,所有 wordpress 实例都可以访问其他应用的数据库实例。
      • 如果您有自定义需求、清理或执行特殊操作,则仅在一个 wordpress 实例上执行此操作会更容易,并且仅在一个项目上部署 wordpress 实例的风险较小。

      有我的建议!

      【讨论】:

      • 我明白你的意思,但每个帐户的项目数量是有限的。对于 SQL,我可以为每个 wordpress 实例创建一个云 SQL 实例,因此无需担心数据库隔离
      • 如果您有免费帐户,是的,我同意您的项目数量有限
      猜你喜欢
      • 2014-06-22
      • 2016-05-14
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多