Frage

Ich verfolge die erstes Ruby on Rails 3-Tutorial aus PeepCode und etwa 27 bis 29 Minuten später lassen sie uns den Rails-Server starten.Soweit ich weiß, habe ich Rails (und Ruby) erfolgreich installiert.

Wenn ich den Befehl ausführe rails server (von der Windows 7-Eingabeaufforderung gemäß den Anweisungen im Video) erhalte ich die Meldung:

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

Und es kehrt nicht zur Eingabeaufforderung zurück, was darauf hinweist, dass es ausgeführt wird.Für mich (und im Vergleich zum Video) sieht dies auch nach einer gelungenen Nachricht aus.

Wenn ich jedoch zur URL navigiere, http://0.0.0.0:3000, wie im Video beschrieben, erhalte ich eine Fehlermeldung (während das Video die Standardindexseite für Ruby öffnet).Der Fehler, den ich erhalte, ist:

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

Da ich Google Chrome verwende, heißt es auch:

Die Webseite unter http://0.0.0.0:3000/ Möglicherweise ist die Website vorübergehend nicht verfügbar oder sie wurde dauerhaft an eine neue Webadresse verschoben.

Also habe ich mich gefragt, wie ich das beheben kann?

War es hilfreich?

Lösung

0.0.0.0 ist die IP -Adresse, an die Webrick bindet. Es bedeutet "Hören Sie auf allen Schnittstellen". Mit anderen Worten, Sie können eine Verbindung zu dieser Anwendung aus der internen Adresse (localhost oder 127.0.0.1) sowie der externen Adresse im Netzwerk (192.168.1.x oder 10.0.10.x oder einem Domänennamen, der sich auf einen auflöst Adresse dieser Maschine hat im Netzwerk). Der Server kümmert sich nicht darum, woher die Anfrage stammt.

Wenn Sie jedoch den Rails-Server mit der Option "-B" oder "-bindend" gestartet haben und dem Server auf 127.0.0.1 gebunden sein sollen, würde der Server nicht auf Anfragen an die externe Schnittstelle antworten. Sie könnten weiterhin 127.0.0.1 oder Localhost verwenden, aber Sie könnten sich nicht mit der externen IP -Adresse lokal oder von einem anderen Computer mit diesem Server verbinden.

Wenn Sie zu http: // 0.0.0.0:3000 sind, funktioniert es auf meinem Linux -System und höchstwahrscheinlich der Screencast, den Sie gesehen haben, war ein Mac, der auch funktionieren würde. Ich vermute, dass 0,0.0.0 unter Windows nicht unterstützt wird.

Verwenden Sie einfach LOCALHOST, wenn Sie sich auf dem Feld oder in der IP -Adresse des Feldes befinden, wenn Sie darauf zugreifen, dass Sie darauf zugreifen. Das mache ich, auch wenn ich eine Maschine ausführe, die 0,0.0.0 versteht.

Andere Tipps

Sie können den Server mit diesem Befehl starten:

rails server -b localhost

Aber als faule Schreibkraft, in meinem .bash_aliases, ich habe diesen Alias

alias rs='r s -b localhost'

Mit dem Alias ​​kann ich den Server einfach starten mit:

rs
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top