我在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标志的情况下执行命令,端口选项不会被忽略。
我该如何解决这个问题呢?
发布于 2017-01-13 02:25:41
在Heroku上,你不能指定你想要绑定的端口-- Heroku会告诉你你可以使用哪个端口。
Heroku通过为您创建一个名为PORT的环境变量来实现这一点。
因此,为了使您的web服务器工作,您需要让工头在PORT环境变量中指定的端口上启动您的web服务器。
https://stackoverflow.com/questions/41618199
复制相似问题