【发布时间】:2013-11-19 08:57:57
【问题描述】:
我正在构建一个 node.js 应用程序并尝试将其托管在 Heroku 上。似乎为了让我的应用程序对全世界可用,我需要像这样倾听:
app.listen(process.env.PORT || 3000);
我想让我的应用在端口 8080 上侦听。这在 Heroku 中是否可行?我可以更改 process.env.port 的值吗?这似乎是某种我可能无法控制的反向代理。
【问题讨论】:
我正在构建一个 node.js 应用程序并尝试将其托管在 Heroku 上。似乎为了让我的应用程序对全世界可用,我需要像这样倾听:
app.listen(process.env.PORT || 3000);
我想让我的应用在端口 8080 上侦听。这在 Heroku 中是否可行?我可以更改 process.env.port 的值吗?这似乎是某种我可能无法控制的反向代理。
【问题讨论】:
没有。 Heroku 告诉您的应用程序需要监听哪个端口。 Heroku 和您的应用程序之间所需的接口是PORT 环境变量:您的应用程序必须查找并使用它。除了 Heroku 告诉您的应用程序必须侦听的端口之外,您的应用程序无法侦听任何其他端口。 Heroku 尝试在该端口上打开与您的应用程序的 TCP 连接,如果自 Heroku 启动您的应用程序后 60 秒后您的应用程序未在该端口上侦听,Heroku 会认为您的应用程序已损坏并将其关闭。
【讨论】: