node.js - 无法在 Google App Engine 上使用 nodejs 应用程序更新 VM

标签 node.js google-app-engine gcloud managed-vm google-managed-vm

当我尝试从 gcloud CLI 进行部署时,出现以下错误。

Copying files to Google Cloud Storage...
Synchronizing files to [gs://staging.logically-abstract-www-site.appspot.com/].
Updating module [default]...\Deleted [https://www.googleapis.com/compute/v1/projects/logically-abstract-www-site/zones/us-central1-f/instances/gae-builder-vm-20151030t150724].
Updating module [default]...failed.
ERROR: (gcloud.preview.app.deploy) Error Response: [4] Timed out creating VMs.

我的 app.yaml 是:

runtime: nodejs
vm: true
api_version: 1

automatic_scaling:
  min_num_instances: 2
  max_num_instances: 20
  cool_down_period_sec: 60
  cpu_utilization:
    target_utilization: 0.5

并且我已成功登录并拥有正确的项目 ID。我看到在 Cloud Console 中为 App Engine 创建了新版本,但错误似乎是在那之后。

在 stdout 日志中,我看到两个实例都与我在应用程序开始监听端口后放入的最后一个 console.log 语句一起运行,但在 shutdown.log 中我看到“应用程序不健康”,在系统日志中我请参阅“警告:从未从应用程序获得健康响应,但无论如何发送/_ah/start 查询。”

最佳答案

根据我使用 Google Cloud App Engine 使用 nodejs 的经验,我发现“创建 VM 超时”既不是传统的超时,也与创建 VM 无关。我发现在服务器启动期间报告了其他错误——这恰好是在创建 VM 之后。因此,我建议检查控制台输出,看它是否告诉您任何信息。

查看控制台输出:

  • 对于一个虚拟机实例,然后转到/your/ vm instances并单击所需的虚拟机实例,然后向下滚动并单击“串行控制台输出”。
  • 对于 stdout 控制台日志记录,转到 monitoring /your/ logs然后将日志类型下拉列表从 Request 更改为 stdout

我发现在本地运行与在云中运行时 process.env 存在差异。我希望你也能找到你的解决方案——祝你好运!

关于node.js - 无法在 Google App Engine 上使用 nodejs 应用程序更新 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444347/

相关文章:

javascript - JS & Node : Read table from DB with AJAX and display in table

java - 如何在 Appengine 上验证 Google wave gadget viewer?

docker - 如何从 Google 容器注册表中了解我的容器镜像使用了多少空间

google-cloud-platform - 如何让 gcloud 使用特定的配置目录?

google-app-engine - gcloud app deploy 停留在更新服务 [默认]...失败。应用程序启动错误...您是要运行 dotnet SDK 命令吗?

mysql - 关系型 Json 数据库?

javascript - 如何在 Stampery API.JS 文件中设置 API key

database - Google App Engine 需要 Hibernate 吗?

python - django-appengine 服务器未启动

node.js - 转到 Visual Studio 代码中的定义不起作用