2017-06-01 64 views
0

節點項目在localhost上運行完全正常,但無法在域上運行,請幫我解決這個問題。如何設置節點項目到Linux服務器?

app.listen(3000,'APP_PRIVATE_IP_ADDRESS' function(err,rslt){ 
    if(err){ 
     console.log(err); 
    } 
    else{ 
    console.log("App Started on PORT 3000"); 
} 
}) 

當我運行在終端打印它消息的節點server.js「應用開始於3000端口」,但是當我在網絡上運行它顯示了錯誤的網站無法到達。

+2

可能重複的[Node.js連接只適用於本地主機](https://stackoverflow.com/questions/14043926/node-js-connect-only-works-on-localhost) –

+1

呃 - 你覺得也許該網站無法聯繫到?問:你可以ping通該地址嗎?問:您的PC和可能阻塞該端點的節點應用程序(「端點」== IP地址+端口)之間是否存在路由器或防火牆?綁定到「0.0.0.0」是解決方案的一部分 - 但不一定是整個解決方案:( – paulsm4

+0

您是否使用公共IP或域名訪問它?如果使用域名將A記錄與服務器IP映射? –

回答

0

嘗試使用'0.0.0.0'符號IP,它表示綁定所有IP或任何IP。

app.listen(3000, '0.0.0.0', function(err, rslt){ 
    if(err){ 
     console.log(err); 
    } 
    else{ 
     console.log("App Started on PORT 3000"); 
    } 
}); 

主機名是可選的,所以這是等價的:

app.listen(3000, function(err, rslt){ 
    if(err){ 
     console.log(err); 
    } 
    else{ 
     console.log("App Started on PORT 3000"); 
    } 
}); 

在該情況下,要指定的IP版本,這兩個使用作出區別。如果爲hostname參數提供「0.0.0.0」值,則只會發生IPv4綁定,並且只會接受並偵聽IPv4請求。如果未指定此參數,則會發生IPv6和IPv4綁定。

+0

其在本地工作但不在活動服務器上 – tanu

+0

然後,您的環境可能還有其他問題。您在哪個平臺上託管應用程序? –