当我尝试在OpenShift上启动node.js服务器时,我收到EADDRINUSE错误

时间:2017-01-21 20:08:48

标签: node.js openshift

所以,我成功地将一个node.js应用程序提交给OpenShift - 没有收到任何错误 - 但它不起作用(尝试通过我的浏览器访问它时出现错误503,从本地计算机运行测试时出现连接超时) 。提交时的输出表明节点和mysql成功启动,并且构建成功。

我通过ssh访问了服务器,并检查了节点日志。它说EADDRINUSE发生了:Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object

在我的配置中,我使用:

Error: listen EADDRINUSE :::8080

我还在"server":{ "host":"OPENSHIFT_NODEJS_IP", "port":"OPENSHIFT_NODEJS_PORT" } 的shell中检查了可用的environement变量,两者都在那里,8080是正确的端口。

在shell中运行export时,它只显示正在运行的程序pspsbash应该意味着该端口已被其他程序使用,但我看不到任何正在运行的内容......我无法运行EADDRINUSE(权限被拒绝)。

我尝试了停止/启动/重启的各种组合,但我总是得到同样的错误。

此时我很失落。任何指针都将不胜感激!

1 个答案:

答案 0 :(得分:0)

我发现了问题。在本地,我曾经使用app.listen(port);启动服务器,这足以运行它并在localhost上访问它。但这对OpenShift不起作用。还需要指定主机:app.listen(port, host);