2011-12-03 6 views
8

私はfirst Ruby on Rails 3 tutorialに続いてPeepCodeから約27-29分後に、私たちにRailsサーバーを起動させます。私の知る限り、私はRails(とRuby)をうまくインストールしました。Railsサーバーが機能していませんか?

私は(ビデオの指示に従ってWindows 7のコマンドプロンプトから)コマンドrails serverを実行すると、私はメッセージを取得:

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

をそして、それはそれであることを示す、プロンプトに戻りません。ランニング。また、私にとって(そしてビデオと比較して)、これは成功したメッセージのように見えます。

しかし、ビデオの指示に従ってURLを参照すると、http://0.0.0.0:3000が表示されます(ビデオはRubyのデフォルトのインデックスページに表示されます)。私が手にエラーがある:

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

私はGoogle Chromeを使用しているので、それはまた、言う:

http://0.0.0.0:3000/でWebページが一時的に停止しているか、新しいウェブアドレスに移動した可能性があり。

これを修正する方法が不思議でしたか?

+11

、127.0.0.1:3000またはhttpを試してみてください:// localhostを:3000 –

+0

@JesseWolgamott私はそれを試み、それは動作します。ありがとうございました! – Bhaxy

+3

これはsindowsではありません。 127.0.0.1はOS –

答えて

12

0.0.0.0は、WebrickがバインドしているIPアドレスです。それは「すべてのインターフェースで聞く」という意味です。つまり、このアプリケーションには、内部アドレス(localhostまたは127.0.0.1)とネットワーク上の外部アドレス(192.168.1.xまたは10.0.10.xまたはこのマシンのアドレスはネットワーク上にあります)。サーバーは要求がどこから来るかは気にしません。

ただし、 '-b'または '--binding'オプションを指定してrailsサーバーを起動し、サーバーに127.0.0.1にバインドするように指示した場合、サーバーは外部インターフェイスへの要求に応答しません。引き続き127.0.0.1またはlocalhostを使用できますが、ローカルまたは別のマシンから外部IPアドレスを使用してこのサーバに接続できませんでした。

私のLinuxシステムではhttp:// 0.0.0.0:3000になります。あなたが見ていたスクリーンキャストは、おそらく動作するmacを使用していた可能性があります。私の推測では、0.0.0.0はWindowsではサポートされていないということです。

ボックスに入っている場合はlocalhostを、別のマシンからアクセスする場合はボックスのIPアドレスを使用してください。それは、私が0.0.0.0を理解しているマシンを走っているときでも私がやっていることです。

3

あなたは、このコマンドを使用してサーバを起動することができます

rails server -b localhost 

しかし怠惰なタイピストとして、私の.bash_aliasesで、私はこのエイリアスエイリアスで

alias rs='r s -b localhost' 

を持って、私は、サーバーを起動することができますちょうどで:あなたは窓にしているので、

rs 
+0

サイトにアクセスしている場合は、ローカルホストへのバインドのみでローカルマシンからアクセスできることを明確にします。チュートリアルを行っている場合や、他の人があなたのサイトにヒットすることを望まない場合は、これがあなたが望むものです。それ以外の場合は、デフォルトのバインディングのままにして、http:// localhost:3000を使用してアプリにアクセスしてください。 –

関連する問題