Question

je suis première Ruby on Rails 3 tutoriel PeepCode et à environ 27-29 minutes, ils nous commençons le serveur Rails. Au meilleur de ma connaissance, je Rails (et Ruby) installé avec succès.

Quand je lance la commande rails server (à partir de Windows 7 Invite de commande selon les instructions de la vidéo), je reçois le message:

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

Et il ne revient pas à l'invite, ce qui indique qu'il est en cours d'exécution. De plus, pour moi (et par rapport à la vidéo), cela ressemble à un message avec succès.

Cependant, quand je passe en revue à l'URL, http://0.0.0.0:3000, comme indiqué par la vidéo, je reçois une erreur (alors que la vidéo ouvre à la page d'index par défaut pour Ruby). L'erreur que je reçois est:

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

Depuis que je utilise Google Chrome, il dit aussi:

La page Web http://0.0.0.0:3000/ pourrait être temporairement ou il peut avoir déplacé de façon permanente à un nouveau adresse web.

Alors, je me demandais comment résoudre ce problème?

Était-ce utile?

La solution

0.0.0.0 est l'adresse IP qui Webrick lie à. Cela signifie «écouter sur toutes les interfaces. En d'autres termes, vous pouvez vous connecter à cette application depuis l'adresse interne (ou localhost 127.0.0.1), ainsi que l'adresse externe sur le réseau (192.168.1.x ou 10.0.10.x ou un nom de domaine qui peut être converti adresse cette machine a sur le réseau). Le serveur ne se soucie pas si la demande vient.

Si, cependant, vous avez commencé serveur rails avec l'option « -b » ou « --binding » et a dit au serveur de se lier à 127.0.0.1, le serveur ne répond pas aux demandes de l'interface externe. Vous pouvez toujours utiliser 127.0.0.1 ou localhost, mais on ne pouvait pas se connecter à ce serveur en utilisant son adresse IP externe ou d'une autre machine locale.

Aller à http: // 0.0.0.0:3000 fonctionne sur mon système Linux et très probablement le screencast vous regardiez utilisait un Mac qui fonctionne également. Je pense que 0.0.0.0 est pas pris en charge sur Windows.

Il suffit d'utiliser localhost si vous êtes sur la boîte ou l'adresse IP de la case si vous accédez à partir d'une autre machine. Voilà ce que je fais, même quand je suis en cours d'exécution d'une machine qui comprend 0.0.0.0.

Autres conseils

Vous pouvez démarrer le serveur avec cette commande:

rails server -b localhost

Mais comme dactylographe paresseux, dans mon .bash_aliases, j'ai cet alias

alias rs='r s -b localhost'

Avec l'alias, je peux démarrer le serveur avec juste:

rs
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top