2011-11-30 46 views
8

新手問題 - 可能更適合於ServerFault,如果是的話,表示歉意。設置節點,使其在外部可見?

我在Ubuntu 11.10上設置節點,在excellent howtonode instructions on installing Node之後。

我可以得到運行在127.0.0.1:8000上的Hello World頁面,但是如何設置它以顯示我的服務器的外部IP?

我習慣於配置Apache - Apache的「Hello World」頁面的節點等價物是什麼?

感謝您的幫助。

更新:也許我需要的是關於託管節點的教程。如果任何人都能提出一個好的建議,那將會很棒。

回答

13

有沒有作出所需的配置您的外部IP地址與node.js一起工作,除非和直到你綁定它否則。

而不是.listen(PORT, IP_ADDRESS_OR_HOST);使用.listen(PORT);

然後,只需使用IP_ADDRESS_OR_HOST:PORT來訪問它。

+1

此答案幫助了我。我在一個Vagrant VM中運行一個簡單的node.js http服務器。我不得不指定我的IP_ADDRESS_OR_HOST爲「0.0.0.0」,以便我的主機訪問它。 – rickumali

+1

我花了數小時尋找一種方法使節點在外部工作。使用listen(80)而不是listen(80,'127.0.0.1')是我的解決方案。 另外,確保apache沒有運行(即/etc/init.d/apache2 stop) – Deminetix

+1

設備如何訪問服務器上的站點? –

3

您可以設置節點聽任何IP /端口上,檢查出http://nodejs.org/docs/v0.6.3/api/http.html#server.listen

或者從您提供的鏈接快速修改例如:

var http = require('http'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello Node.js\n'); 
}).listen(80, "192.168.1.1"); 

console.log('Server running at http://192.168.1.1:80/');