如何将使用 Google App Engine 构建的应用程序移动到 Ubuntu 服务器?

Posted

技术标签:

【中文标题】如何将使用 Google App Engine 构建的应用程序移动到 Ubuntu 服务器?【英文标题】:How do I move my app that I built with Google App Engine to an Ubuntu server? 【发布时间】:2017-07-13 16:57:53 【问题描述】:

基本上,我在我的 Mac 上使用 Google App Engine SDK 构建了一个 python 应用程序。我将它移到我的 Ubuntu 服务器上,设置 python 在 apache 中运行,安装 webapp2,我的应用程序只显示一个空白页面。我的假设是这与 Google App Engine 有关。谁能指出我正确的方向?

谢谢!

【问题讨论】:

【参考方案1】:

使用 App Engine SDK 构建的应用旨在通过 Google 的 App Engine 环境提供服务。您需要将应用部署到 App Engine。

当前部署说明为here

或者,webapp2 应用程序可以在 App Engine 环境之外运行;有一个快速入门指南here。 App Engine 平台上的存储独立于webapp2,因此您需要找到一个新的存储解决方案:关系或非关系数据库以及可能的 ORM,以简化数据持久性和检索。您的模型层需要相应地修改。

您还应该删除 App Engine 文件,例如 appengine_config.pyapp.yaml 和其他 App Engine yaml 配置文件,因为您的应用程序将不再使用它们。

【讨论】:

感谢您的回复。这可能是一个愚蠢的后续问题,但我将如何让这个 webapp2 应用程序在 Google 的 App Engine 之外运行? 我按照您发布的指南进行操作,但我试图在我托管在 VPS 上的服务器上运行它,因此使用主机 127.0.0.1 将无法正常工作。我已经尝试了各种各样的东西,但无法正常工作。可能还值得注意的是,我并没有尝试将其作为根运行。我有一个 php 站点,我希望这个 python 程序从一个子目录运行。【参考方案2】:

如果您只想像在 Mac 上运行应用程序一样运行应用程序,您可以安装 Linux GAE 或 Goggle Cloud SDK 并在其中运行应用程序。

但是,如果您想要生产质量/性能,我所知道的唯一选择(无需重新编写应用程序)是使用 AppScale。

【讨论】:

以上是关于如何将使用 Google App Engine 构建的应用程序移动到 Ubuntu 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Google App Engine (Flex) Go 应用程序连接到 Google Cloud Postgres 实例

如何在 Google App Engine 标准环境中使用 Google Cloud Build 或其他方法设置环境变量?

如何将私有、自托管的 NPM 包与 Google App Engine 节点、标准环境一起使用

如何将 socket.io 部署到 Google App Engine?

如何将新服务部署到 Google App Engine 中的现有应用程序?

如何将使用 Google App Engine 构建的应用程序移动到 Ubuntu 服务器?