2011-12-03 27 views
8

Estoy siguiendo el first Ruby on Rails 3 tutorial desde PeepCode y alrededor de 27-29 minutos, nos hacen iniciar el servidor de Rails. Según mi leal saber y entender, tengo Rails (y Ruby) instalados con éxito.¿El servidor Rails no funciona?

Cuando ejecuto el comando rails server (desde Windows 7 Símbolo del sistema según las instrucciones del video), me sale el mensaje:

=> 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 

y no volver a la solicitud, indicando que es corriendo. Además, para mí (y comparado con el video), parece un mensaje exitoso.

Sin embargo, cuando busco la URL http://0.0.0.0:3000, como lo indica el video, aparece un error (mientras el video se abre en la página de índice predeterminada para Ruby). El error que consigo es:

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

Desde que estoy usando Google Chrome, también dice:

la página web en http://0.0.0.0:3000/ podría estar temporalmente inactiva o que se haya trasladado definitivamente a una nueva dirección web .

Entonces, me preguntaba cómo solucionar esto?

+11

ya que está en Windows, pruebe 127.0.0.1:3000 o http: // localhost: 3000 –

+0

@JesseWolgamott Lo intenté, y funciona. ¡Gracias! – Bhaxy

+3

Eso no es sindows;) específico. 127.0.0.1 es un host local independientemente de OS –

Respuesta

12

0.0.0.0 es la dirección de IP a la que Webrick enlaza. Significa 'escuchar en todas las interfaces'. En otras palabras, puede conectarse a esta aplicación desde la dirección interna (localhost o 127.0.0.1), así como la dirección externa en la red (192.168.1.xo 10.0.10.xo un nombre de dominio que se resuelve en una dirección que esta máquina tiene en la red). Al servidor no le importa de dónde proviene la solicitud.

Si, sin embargo, inició el servidor de rieles con la opción '-b' o '--binding' y le dijo al servidor que se vincule a 127.0.0.1, el servidor no respondería a las solicitudes a la interfaz externa. Todavía podría usar 127.0.0.1 o localhost pero no podría conectarse a este servidor usando su dirección IP externa localmente o desde otra máquina.

Ir a http: // 0.0.0.0:3000 funciona en mi sistema Linux y lo más probable es que el screencast que estaba viendo utilizara un mac que también funcionaría. Supongo que 0.0.0.0 no es compatible con Windows.

Simplemente use localhost si está en el recuadro o la dirección IP de la casilla si está accediendo desde otra máquina. Eso es lo que hago, incluso cuando estoy ejecutando una máquina que entiende 0.0.0.0.

3

Puede iniciar el servidor con este comando:

rails server -b localhost 

Pero como mecanógrafa perezoso, en mi .bash_aliases, tengo este alias

alias rs='r s -b localhost' 

Con el alias, que puede iniciar el servidor con solo:

rs 
+0

Solo para aclarar, el enlace a localhost significa que solo puede acceder al sitio desde la máquina local. Si está haciendo un tutorial, o no quiere que otros puedan acceder a su sitio, esto es lo que quiere. De lo contrario, simplemente deje el enlace predeterminado y use http: // localhost: 3000 para acceder a su aplicación. –

Cuestiones relacionadas