2011-11-30 19 views
8

Pytanie Newbie - może być bardziej odpowiednie dla ServerFault, przepraszam jeśli tak.Skonfiguruj węzeł, aby był widoczny z zewnątrz?

Konfiguruję węzeł na Ubuntu 11.10, postępując zgodnie z excellent howtonode instructions on installing Node.

Mogę uzyskać stronę Hello World z 127.0.0.1:8000, ale jak ustawić ją tak, aby pojawiała się na zewnętrznym IP mojego serwera?

Jestem przyzwyczajony do konfigurowania Apache - jaki jest węzłowy odpowiednik strony "Hello World" Apache?

Dzięki za pomoc.

AKTUALIZACJA: Być może potrzebuję samouczka na temat hostingu Węzła. Byłoby wspaniale, gdyby ktokolwiek mógł zaproponować coś dobrego.

Odpowiedz

13

Nie ma potrzebne do konfiguracji urządzenia Zewnętrzny adres IP działa z node.js, chyba że i dopóki nie zostanie powiązany inaczej.

Zamiast używać .listen(PORT, IP_ADDRESS_OR_HOST);.listen(PORT);

Następnie wystarczy użyć IP_ADDRESS_OR_HOST:PORT do niego dostęp.

+1

Ta odpowiedź pomogła mi. Uruchomiłem prosty serwer http node.js w maszynie Vagrant VM. Musiałem określić mój IP_ADDRESS_OR_HOST jako "0.0.0.0", aby mój host mógł uzyskać do niego dostęp. – rickumali

+1

Spędziłem godziny szukając sposobu na wykonanie pracy węzła na zewnątrz. używanie nasłuchu (80) zamiast słuchania (80, "127.0.0.1") było rozwiązaniem dla mnie. Upewnij się również, że apache nie działa (np. /etc/init.d/apache2 stop). – Deminetix

+1

W jaki sposób urządzenie może uzyskać dostęp do witryn na serwerze? –

3

Można skonfigurować węzeł posłuchać na dowolnym IP/port, sprawdź http://nodejs.org/docs/v0.6.3/api/http.html#server.listen

lub szybki zmodyfikowany przykład z linku dostarczonego:

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/'); 
Powiązane problemy