部署多个独立的应用到appengine
deploy multiple independent applications to appengine
根据官方文档,每个项目只能有一个应用引擎实例,
我的问题是,是否可以将多个独立的 django 应用程序部署到 appengine ?
换句话说,使用 appengine 作为 django 应用程序的托管平台。
在文档或教程中我从未见过类似的东西
如何使用它来部署多个独立的 wordpress 实例?
提前致谢
您要找的是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 and how to route the requests to your services here.
前面的答案是正确的,可以实现你想做的事情。但是,我写这个答案是要告诉你不要这样做!
- 创建项目是免费的,您可以为每个应用创建 1 个项目。
- 使用 App Engine,每个项目每天有 28 小时的 F1 实例免费使用时间。每个新项目都允许您利用这个免费套餐!
- wordpress实例不一样,所以数据库也不一样。如果您使用相同的项目,则使用相同的数据库。您还可以为每个应用程序创建不同的数据库(或同一数据库实例中的模式),但最后,所有 wordpress 实例都将能够访问其他应用程序的数据库实例。
- 如果您有自定义需求、清洁或其他需要执行的特殊操作,仅在一个 wordpress 实例上执行此操作(仅部署在一个项目上)会更容易,并且对 wordpress 实例的风险更小。
有我的建议!
根据官方文档,每个项目只能有一个应用引擎实例, 我的问题是,是否可以将多个独立的 django 应用程序部署到 appengine ? 换句话说,使用 appengine 作为 django 应用程序的托管平台。
在文档或教程中我从未见过类似的东西
如何使用它来部署多个独立的 wordpress 实例?
提前致谢
您要找的是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 and how to route the requests to your services here.
前面的答案是正确的,可以实现你想做的事情。但是,我写这个答案是要告诉你不要这样做!
- 创建项目是免费的,您可以为每个应用创建 1 个项目。
- 使用 App Engine,每个项目每天有 28 小时的 F1 实例免费使用时间。每个新项目都允许您利用这个免费套餐!
- wordpress实例不一样,所以数据库也不一样。如果您使用相同的项目,则使用相同的数据库。您还可以为每个应用程序创建不同的数据库(或同一数据库实例中的模式),但最后,所有 wordpress 实例都将能够访问其他应用程序的数据库实例。
- 如果您有自定义需求、清洁或其他需要执行的特殊操作,仅在一个 wordpress 实例上执行此操作(仅部署在一个项目上)会更容易,并且对 wordpress 实例的风险更小。
有我的建议!