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

时间:2017-01-12 16:24:08

标签: node.js heroku foreman

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

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

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

执行命令以启动服务器

MyDir

引发以下错误:

nf start -f Procfile.dev

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

Error: listen EADDRINUSE Procfile.dev

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

port: 3003

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

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

在Heroku上,您无法指定要绑定的端口--Heroku会告诉您可以使用的端口。

Heroku通过为您创建一个名为PORT的环境变量来完成此任务。

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