文档
Node.js 使用入门

Node.js 使用入门

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

Related articles

PS5的最佳VPN:如何在PlayStation 5 上設定VPN 2024 年 23 个适用于 Windows 10、11 PC 的最佳免费 VPN(快速且安全) 《2024最新1月》NordVPN Netflix 跨區教學,解鎖觀看各國地區限定電影|香港、台灣、美國影集等任你看 ZenMate 免費 VPN 連線工具,支援美國、香港等五個國家 IP 伺服器 快速入门:使用 Google Cloud 控制台根据文本创建音频

将应用部署到 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 页面,很快就可以看到这个新错误。点击自动重新加载,这样就无需手动刷新页面。

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