繁体   English   中英

Google Cloud App Engine - NestJS App 部署良好并运行实例,但无法访问它

[英]Google Cloud App Engine - NestJS App deploys fine and runs instance, but can't access it

我正在尝试在 Google App Engine 上托管 NestJS 应用程序。 在对我的 GitHub 存储库执行某些操作后,我正在使用 Cloud Build 将应用程序部署到 App Engine 中。

一切顺利; 应用程序构建并部署到 App Engine。 甚至为所述部署创建了一个实例。 但是,我似乎无法访问分配给我托管应用程序的服务的主机。 我不明白为什么 App Engine 的测试 NodeJS 项目运行得很好。 这是我尝试访问端点时得到的。

应用程序.yaml

runtime: nodejs16
instance_class: F4
service: rest

cloudbuild.yaml

steps:
- name: node:16.0.0
  entrypoint: npm
  args: ["install"]
- name: node:16.0.0
  entrypoint: npm
  args: ["run", "build"]
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy", "-v", "20220628t175507"]
timeout: "1600s"

我不明白我做错了什么。 仅供参考,该应用程序只是一个 REST API 应用程序,仅用于发出请求。

解决了

GAE 文档不会告诉您这一点(在谈论app.yamlenvironment_variables时,他们会稍微暗示一下,但没有明确表示)。

确保您的 Nest 应用程序指向的端口是process.env.PORT ,因为 GAE 会自动为您的应用程序设置可用的最佳端口。 由于我为端口分配了一个静态值,因此它不会运行。

基本变了:

app.run(3000);

至:

app.run(process.env.PORT);

运行最新版本,一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM