Domanda

Sto seguendo il First Ruby on Rails 3 Tutorial da Peepcode E a circa 27-29 minuti dopo, ci fanno iniziare il server Rails. Per quanto ne so, ho binari (e rubino) installati con successo.

Quando eseguo il comando rails server (Dal prompt dei comandi di Windows 7 per le istruzioni del video), ricevo il messaggio:

=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-12-02 18:37:57] INFO WEBrick 1.3.1
[2011-12-02 18:37:57] INFO ruby 1.9.3 (2011-10-30) [i386-mingw32]
[2011-12-02 18:37:57] INFO WEBrick::HTTPServer#start: pid=5584 port=3000

E non torna al prompt, indicando che è in esecuzione. Inoltre, per me (e rispetto al video), sembra un messaggio di successo.

Tuttavia, quando navigo verso l'URL, http://0.0.0.0:3000, come indicato dal video, ricevo un errore (mentre il video si apre alla pagina dell'indice predefinito per Ruby). L'errore che ricevo è:

Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.

Dato che sto usando Google Chrome, dice anche:

La pagina web a http://0.0.0.0:3000/ Potrebbe essere temporaneamente giù o potrebbe essersi spostato permanentemente su un nuovo indirizzo web.

Quindi, mi chiedevo come risolvere questo problema?

È stato utile?

Soluzione

0.0.0.0 è l'indirizzo IP a cui Webrick è vincolante. Significa "ascoltare tutte le interfacce". In altre parole, puoi connetterti a questa applicazione dall'indirizzo interno (localhost o 127.0.0.1) nonché dall'indirizzo esterno sulla rete (192.168.1.x o 10.0.10.x o un nome di dominio che si risolve Indirizzo che questa macchina ha sulla rete). Al server non importa da dove provenga la richiesta.

Se, tuttavia, hai avviato Rails Server con l'opzione '-b' o '--binding' e ha detto al server di associarsi a 127.0.0.1, il server non risponderebbe alle richieste all'interfaccia esterna. È ancora possibile utilizzare 127.0.0.1 o localhost ma non è possibile connettersi a questo server utilizzando il suo indirizzo IP esterno a livello locale o da un'altra macchina.

Andare a http: // 0.0.0.0:3000 funziona sul mio sistema Linux e molto probabilmente lo screencast che stavi guardando era usare un Mac che avrebbe funzionato anche. La mia ipotesi è che 0.0.0.0 non è supportato su Windows.

Basta utilizzare LocalHost se sei sulla scatola o l'indirizzo IP della casella se si accede da un'altra macchina. Questo è quello che faccio, anche quando gestisco una macchina che capisce 0.0.0.0.

Altri suggerimenti

Puoi avviare il server con questo comando:

rails server -b localhost

Ma come dattive pigre, nel mio .bash_aliases, Ho questo alias

alias rs='r s -b localhost'

Con l'alias, posso avviare il server solo con:

rs
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top