Pregunta

Estoy siguiendo el First Ruby on Rails 3 Tutorial de Hacer código Y alrededor de 27-29 minutos después, nos hacen comenzar el servidor Rails. Que yo sepa, tengo los rieles (y Ruby) instalados con éxito.

Cuando ejecuto el comando rails server (Desde el símbolo del sistema de Windows 7 según las instrucciones del video), recibo 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 vuelve a la solicitud, lo que indica que se está ejecutando. Además, para mí (y en comparación con el video), esto parece un mensaje exitoso.

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

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

Como estoy usando Google Chrome, también dice:

La página web en http://0.0.0.0:3000/ Puede estar temporalmente inactiva o puede haberse movido permanentemente a una nueva dirección web.

Entonces, ¿me preguntaba cómo solucionar esto?

¿Fue útil?

Solución

0.0.0.0 es la dirección IP a la que Webrick está vinculante. 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.x o 10.0.10.x o un nombre de dominio que se resuelve a un Dirija esta máquina en la red). Al servidor no le importa de dónde proviene la solicitud.

Sin embargo, si inició el servidor Rails con la opción '-b' o '-unir' y le dijo al servidor que vinculara a 127.0.0.1, el servidor no respondería a las solicitudes a la interfaz externa. Todavía puede usar 127.0.0.1 o localhost, pero no puede conectarse a este servidor utilizando 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 probablemente el screencast que estaba viendo estaba usando una Mac que también funcionaría. Supongo que 0.0.0.0 no es compatible con Windows.

Simplemente use localhost si está en la caja o la dirección IP de la caja si está accediendo a él desde otra máquina. Eso es lo que hago, incluso cuando ejecuto una máquina que entiende 0.0.0.0.

Otros consejos

Puede iniciar el servidor con este comando:

rails server -b localhost

Pero como mecanógrafo perezoso, en mi .bash_aliases, Tengo este alias

alias rs='r s -b localhost'

Con el alias, puedo iniciar el servidor con solo:

rs
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top