我正在嘗試在 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 應用程式,僅用于發出請求。
uj5u.com熱心網友回復:
解決了
GAE 檔案并沒有告訴你這一點(他們在談論app.yaml
's時略微暗示了這一點environment_variables
,但沒有明確地暗示)。
確保您的 Nest 應用程式指向的埠是process.env.PORT
GAE 自動為您的應用程式設定可用的最佳埠。由于我為埠分配了一個靜態值,因此它不會運行。
基本變了:
app.run(3000);
至:
app.run(process.env.PORT);
運行最新版本,一切正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507783.html