openshift上的Node.js套接字应用程序

时间:2014-03-18 00:33:40

标签: node.js sockets openshift

我试图在OpenShift上部署一个简单的node.js套接字应用。

首先,我尝试将侦听器设置为:

var server = net.createServer(newSocket); //newSocket is a listener method
var port   = 8888;
server.listen(port);

这会导致:

Error: listen EACCES

然后我研究了一下并了解到你需要使用OPENSHIFT_NODEJS属性进行监听并设置监听器:

var server = net.createServer(newSocket);
var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port   = process.env.OPENSHIFT_NODEJS_PORT || 8888;
server.listen(port, ipaddr);

现在应用程序启动时为:127.6.253.1:8080 - 但是当我尝试使用我的OpenShift应用程序URL和8080进行远程登录时,我得到服务器超时。

如果您有类似情况的经验,请告诉我。 我尝试在OpenShift上运行的应用代码位于https://github.com/denimf/NodeChat

2 个答案:

答案 0 :(得分:0)

OpenShift应用程序的内部端口为8080,但它在外部通过控制面板中指定的URL在端口80上公开。您还可以通过执行以下操作在控制台中查看应用程序URL:

echo $OPENSHIFT_APP_DNS

答案 1 :(得分:0)

大多数node.js网络托管服务不支持套接字侦听器。我通过在专用虚拟机上托管Node应用程序解决了我的问题。