我在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标志的命令,则不会忽略该端口选项。
我该如何解决这个问题?
答案 0 :(得分:-1)
在Heroku上,您无法指定要绑定的端口--Heroku会告诉您可以使用的端口。
Heroku通过为您创建一个名为PORT
的环境变量来完成此任务。
因此,为了使您的Web服务器正常工作,您需要让管理员在PORT
环境变量中指定的端口上启动您的Web服务器。