【问题标题】:PORT environment variable changed Google App EnginePORT 环境变量更改了 Google App Engine
【发布时间】:2019-04-02 04:49:36
【问题描述】:

我正在使用 Google App Engine nodejs8 标准环境,我看到他们已经更改了 PORT 环境变量值。

以前是 8080,现在是 8081,因此它会发出一些 nginx 警告:

nginx: [warn] 只有当主进程以超级用户权限运行时,“user”指令才有意义,在 /tmp/start-nginx/nginx.conf:2 中被忽略

此警告不允许访问任何快速路线。我已手动将监听端口更改为 8080,现在 express 运行正常,但是:

start: 无法启动 nginx。性能可能会降低。回退机制不受支持,可以随时删除。应用程序应该监听 PORT 环境变量。使用后备:应用正在侦听端口 8080

【问题讨论】:

  • 您可以签入cloud.google.com/appengine/docs/standard/nodejs/…环境变量,看看应该如何将PORT设置为8080
  • 同样的问题!节点 8 标准环境。突然,应用开始显示:302 too many redirects.。我的应用程序正在收听 process.env.PORT 顺便说一句。编辑:奇怪的是相同的代码,在其他项目,在其他地区,运行良好。

标签: node.js google-app-engine nginx


【解决方案1】:

一位 Google 工程师联系了我,告诉我这是 nginx 版本的问题。现在已经修复了。

因此,在您的应用程序中监听 PORT 环境变量应该仍然是一个很好的做法。

【讨论】:

    【解决方案2】:

    临时解决方法:

    如果有人遇到这个问题,这里有一个解决方法: 在您的 app.yaml 中将运行时更改为 nodejs10

    runtime: nodejs10
    

    【讨论】:

    • 将端口硬编码为 8080 已经是一种解决方法。我不建议更改运行时,因为它可能会由于与 gcloud 库的依赖关系而破坏您的应用程序。
    • 就我而言,硬编码端口不起作用。我已经在使用 process.env.PORT
    猜你喜欢
    • 1970-01-01
    • 2021-04-14
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多