我试图在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
答案 0 :(得分:0)
OpenShift应用程序的内部端口为8080,但它在外部通过控制面板中指定的URL在端口80上公开。您还可以通过执行以下操作在控制台中查看应用程序URL:
echo $OPENSHIFT_APP_DNS
答案 1 :(得分:0)
大多数node.js
网络托管服务不支持套接字侦听器。我通过在专用虚拟机上托管Node应用程序解决了我的问题。