文档
Node.js 使用入门

Node.js 使用入门

将应用部署到 App Engine Google Cloud 提供了多种运行代码的方案。在本示例中,您将使用 App Engine 将可伸缩应用部署到 Google Cloud。App Engine 提供零配置部署和零服务器管理,让您可以专注于编写代码。此外,App Engine 会自动扩容以

将应用部署到 App Engine

Google Cloud 提供了多种运行代码的方案。在本示例中,您将使用 App Engine 将可伸缩应用部署到 Google Cloud。App Engine 提供零配置部署和零服务器管理,让您可以专注于编写代码。此外,App Engine 会自动扩容以应对突发的流量高峰。

app.yaml

文件是您将应用部署到 App Engine 时使用的主要配置文件:

  1. 在您的终端窗口中,使用 gcloud CLI 将应用部署到 App Engine:

    # on the command-line
    gcloud app deploy

  2. 在网络浏览器中,输入以下网址:

    https://..r.appspot.com

    替换以下内容:

    注意:这个使用 SSL 保护的网域是自动创建的,用于开发过程。您也可以使用 App Engine 设置自定义网域。

如需详细了解如何部署到 App Engine,请参阅 Node.js 10 运行时环境。

使用 Firestore 保留数据

您不能在 App Engine 实例中存储信息,因为实例重启时信息会丢失,当新实例创建时该信息已不再存在。所以,您需要一个所有实例都能在其中读写的数据库。

Google Cloud 提供了多种存储数据的方案。在此示例中,您将使用 Firestore 存储每本图书的数据。Firestore 是一种全代管式无服务器 NoSQL 文档数据库,可用于存储和查询数据。Firestore 能够根据您的应用需求自动扩缩,并在不使用时缩减到零个实例。现在添加第一本图书。

  1. 在网络浏览器中,输入以下网址:

    https://..r.appspot.com

    替换以下内容:

  2. 如需为部署的应用创建图书,请点击添加图书

  3. 书名字段中,输入 Moby Dick
  4. 作者字段中,输入 Herman Melville
  5. 点击保存。现在您的 Bookshelf 应用有了一个条目。

  6. 在 Cloud Console 中,点击刷新 refresh 来刷新 Firestore 页面。现在数据显示在 Firestore 中。Bookshelf 应用将每本图书存储为具有唯一 ID 的 Firestore 文档,这些文档都存储在一个 Firestore 集合中。在本教程中,该集合称为 books。

Firestore 使用 Firestore 客户端库存储图书。下面是一个提取 Firestore 文档的示例:

如需详细了解如何使用 Firestore,请参阅向 Firestore 添加数据。

在 Cloud Storage 中存储上传的文件

现在您已经添加了一本图书,接下来该添加图书封面图片。您不能在实例中存储文件,数据库也不适合图片文件。这时,您就得用上 Cloud Storage 了。

Cloud Storage 是 Google Cloud 的主要 Blob 存储库。您可以使用 Cloud Storage 来托管要在 Google Cloud 中共享的应用资源。如需使用 Cloud Storage,您需要创建一个 Cloud Storage 存储分区,这是一个保存数据的基本容器。

  1. 在 Cloud Console 中,转到 Cloud Storage 浏览器页面。

    转到“Cloud Storage 浏览器”页面

  2. 点击创建存储分区
  3. 创建存储分区对话框中输入存储分区的名称:将 Google Cloud 项目 ID 附加到字符串 _bucket 前面,这样名称就显示为 _bucket。此名称须遵守存储分区名称要求。其他所有字段可以保留默认值。
  4. 点击创建
  5. 创建存储分区后,必须将对象设为可公开访问,以供用户查看。如需将对象设为可公开访问,请参阅公开数据。
  6. 点击修改图书,然后选择一张图片上传为图书的封面。例如,可以使用图中所示的这张属于公共领域的图片:

  7. 点击保存。您将被重定向至首页,其中有您 Bookshelf 应用的条目。
    Node.js 使用入门

Bookshelf 应用会使用 Cloud Storage 客户端库将上传的文件发送到 Cloud Storage。

注意:您可以更改存储桶名称,只需将上述代码中的 CLOUD_BUCKET 变量设置为不同的名称,然后通过运行 gcloud app deploy 重新部署应用。

如需详细了解如何使用 Cloud Storage,请参阅方法指南列表。

使用 Google Cloud 的运维套件监控您的应用

您已经部署了应用,创建并修改了 books 集合。如需为用户监控这些事件,可以使用 Application Performance Management。

使用 Cloud Logging 监控日志

Cloud Console

  1. 在浏览器中转至应用中的 /logs 网址。

    https://..r.appspot.com/logs

    这将向 Cloud Logging 发送一个自定义条目。该条目的日志严重性为 NOTICE,其中包含消息“Hey, you triggered a custom log entry. Good job!”。

  2. 转到日志查看器,您可以在其中实时监控应用。如果出现问题,这是应该首先查看的地方之一。
    Node.js 使用入门
  3. 在资源下拉列表中,选择 GAE Application
  4. 在日志下拉列表中,选择所有日志

    将有一行显示您的自定义日志条目。

gcloud

  1. 在终端窗口中,使用 Google Cloud CLI,通过监听新日志条目来监控应用日志:

    gcloud app logs tail

  2. 在浏览器中转至应用中的 /logs 网址。

    https://..r.appspot.com/logs

    这将向 Cloud Logging 发送一个自定义条目。该条目的日志严重性为 NOTICE,其中包含消息“Hey, you triggered a custom log entry. Good job!”。

    gcloud 命令的输出会显示新的日志条目:

    Waiting for new log entries...
    2019-03-27 22:17:01 default[20190327t151430]  "Hey, you triggered a custom log entry. Good job!"

使用 Error Reporting 监控错误

  1. 在 Cloud Console 中,转到 Error Reporting 页面。
    转到“Error Reporting”页面
    Error Reporting 可突出显示应用中的错误和异常,您还可以设置相关的提醒。
  2. 在浏览器中,转到应用中的 /errors 网址。

    https://..r.appspot.com/errors

    这会生成一个新的测试异常并发送至 Google Cloud 运维套件。

  3. 在 Cloud Console 中,返回到 Error Reporting 页面,很快就可以看到这个新错误。点击自动重新加载,这样就无需手动刷新页面。

注意:应用性能管理中有许多可帮助调试和监控应用的工具。如需了解详情,请参阅教程。