gpt4 book ai didi

node.js - Foreman 忽略 .foreman 文件中的默认端口

转载 作者:太空宇宙 更新时间:2023-11-03 22:40:01 26 4
gpt4 key购买 nike

我在 Heroku 上部署了一个 NodeJs 应用程序。

由于我需要在生产和开发中执行不同的 Procfile,因此我安装了 Foreman for Node ( https://www.npmjs.com/package/foreman )。

之后,我创建了 .env 文件和 .foreman 文件以及两个 Procfile:Profile 和 Procfile.dev

执行命令启动服务器

nf start -f Procfile.dev

抛出以下错误:

Error: listen EADDRINUSE Procfile.dev

这是因为 Foreman 默认选择端口 5000。所以我在 .foreman 文件中插入了这段代码:

port: 3003

问题是该选项仍然被忽略,并且我仍然收到 EADDRINUSE 错误。甚至执行命令:

nf start -p 3003 -f Procfile.dev

解决任何问题,端口仍然被忽略。

在另一个站点上,如果我执行不带 -f 标志的命令,则不会忽略端口选项。

我该如何解决这个问题?

最佳答案

在 Heroku 上,您无法指定要绑定(bind)到哪个端口——Heroku 会告诉您可以使用哪个端口。

Heroku 通过为您创建一个名为 PORT 的环境变量来实现此目的。

因此,为了使您的 Web 服务器正常工作,您需要让 foreman 在 PORT 环境变量中指定的端口上启动您的 Web 服务器。

关于node.js - Foreman 忽略 .foreman 文件中的默认端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41618199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com