web-dev-qa-db-ja.com

Railsサーバーは実行中ですが、localhost:3000に接続できません

私はRuby on Rails with railstutorial.orgで学習しています。私はすべてを設定し、第1章から正常に動作していました。しかし、突然次のアプリで問題。

「Railsサーバー」を実行しています

=> Booting WEBrick
=> Rails 3.2.9 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-11-15 00:45:08] INFO  WEBrick 1.3.1
[2012-11-15 00:45:08] INFO  Ruby 1.9.3 (2012-11-10) [x86_64-linux]
[2012-11-15 00:45:08] INFO  WEBrick::HTTPServer#start: pid=2752 port=3000

以前のアプリと同じように、正常に動作しているようです。

しかし、さまざまなブラウザーでlocalhost:3000、0.0.0.0:3000、127.0.0.1:3000に接続しようとすると、サーバーへの接続をすべて確立できません。

注意すべき点:

-私は少し前にlocalhostに接続できました-突然突然動作しなくなったようです。

-私の最初のアプリは完全に問題なく動作していましたが、今では私の最初のアプリでも動作しません。

-ポートをブロックするファイアウォールがなく、ホストファイルに問題はありません。

-私はUbuntu 12.10を使用しています

ほとんどの場合、検索で解決策を見つけますが、今回はそうではありません。そのため、助けが必要です。行き詰まっているのにあまりにも長い時間を費やしているのは簡単な問題だと思うので、それは非常にイライラします。

ありがとうございました。

16
Alexander Sung

Rails 4.2.0では、サーバーはデフォルトで0.0.0.0ではなくlocalhostにバインドします。仮想ボックスでRailsを操作し、ホストコンピュータからサーバーにアクセスする場合、バインディングアドレスは0.0.0.0である必要があります

Railsサーバーを-b0.0.0.0で起動して、ホストコンピュータ/ブラウザからRailsサーバーにアクセスできるようにします。

http://guides.rubyonrails.org/4_2_release_notes.html#default-Host-for-Rails-serverhttps://github.com/samuelkadolph/Unicorn-Rails/issues/ 12#issuecomment-60875268

15
andrewleung

3001のような他のポートで実行してみてください:
Railsサーバー-p 3001
動作する場合は、上記のコマンドとして3000で再試行してください。
他のソフトウェアが3000ポートを使用しているため、応答しません。
または、いくつかの高度なことについては ここ を参照してください

14
Sivan

必ず実行してくださいrake db:create起動前Rails s。

8
Borat.sagdiyev

私はRails 5.0.0.beta3を使用していて、この問題に遭遇していました。@ andrewleungの回答は私を大いに助けました。

Railsデフォルトのバインディングアドレスが私のコンピュータ(Mac OS 10.11.6)ではめちゃくちゃになっているようですが、他のコンピュータでは問題なく動作します。

単純な解決策は、単にRails server -b127.0.0.1を使用することです。その後、localhost:3000にアクセスできます。

ここでの私の推測は( https://serverfault.com/a/544188 から示唆)、localhostバインディングが私のコンピューターで混乱しているのに対し、127.0.0.1はより具体的です。

5
MaximeBernard

同じ問題があり、config/environment/production.rbファイルをconfig.assets.compile = falseからconfig.assets.compile = trueに変更する必要があることに気付きました。

ただし、これにより、一部のjavascriptおよびsass要素が機能しなくなる可能性があります

1
Jeffrey Amoah

私が持っていたことが判明した問題は、私のVMがハードドライブの容量を使い果たし、server.pidファイルを作成するのに十分な量が残っていないことでした。何らかの理由で、ファイルが作成されていたため、このためエラーはスローされませんでしたが、空白のままにされました。

0
boulder_ruby

同じ問題が発生しました。 browser-syncもlocalhost:3000で実行されていることがわかりました。

Rails開発者はブラウザ同期を使用してフロントエンドスクリプトをすばやくテストするため、ポート3000が使用される一般的な理由であると考えられます。

0
searain

私にとって...私は職場でプロキシの後ろにいて、やらなければならなかったRails s -b 0.0.0.0 -p 3000

0
Aaron Moreno

/ etc/hostsファイルを確認してください。他のアドレスを指しているip 0.0.0.0またはlocalhostを確認してください。

0
puneet18