2014-01-07 96 views
11

我一直在使用OpenShift與node.js和socket.io。我的代碼是:OpenShift node.js錯誤:偵聽EACCES

server.listen(process.end.OPENSHIFT_NODEJS_PORT || 3000); 

我的代碼表示,它返回端口8080 不過,我得到這個錯誤:

DEBUG: Starting child process with 'node server.is' 
Info: socket.io started 
warn:error raised: Error: listen EACCES 

我該如何解決這個問題? 沒有其他的解決方案,我可以找到作品。

回答

31

您還需要指定綁定到您的監聽中的OPENSHIFT_NODEJS_IP,因爲它默認情況下試圖綁定到0.0.0.0,這是不允許的。

喜歡的東西:

var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"; 
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080; 
server.listen(port, ipaddress, function() { 
    console.log((new Date()) + ' Server is listening on port 8080'); 
}); 
+0

謝謝。我碰巧在其他地方發現了這一點,並且即將在此處發佈該解決方案。 –

+2

如果你使用的是sailsjs,那麼代替ipaddress使用主機 –