私は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を使用しています
ほとんどの場合、検索で解決策を見つけますが、今回はそうではありません。そのため、助けが必要です。行き詰まっているのにあまりにも長い時間を費やしているのは簡単な問題だと思うので、それは非常にイライラします。
ありがとうございました。
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
3001のような他のポートで実行してみてください:
Railsサーバー-p 3001
動作する場合は、上記のコマンドとして3000で再試行してください。
他のソフトウェアが3000ポートを使用しているため、応答しません。
または、いくつかの高度なことについては ここ を参照してください
必ず実行してくださいrake db:create
起動前Rails s。
私は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はより具体的です。
同じ問題があり、config/environment/production.rb
ファイルをconfig.assets.compile = false
からconfig.assets.compile = true
に変更する必要があることに気付きました。
ただし、これにより、一部のjavascriptおよびsass要素が機能しなくなる可能性があります
私が持っていたことが判明した問題は、私のVMがハードドライブの容量を使い果たし、server.pidファイルを作成するのに十分な量が残っていないことでした。何らかの理由で、ファイルが作成されていたため、このためエラーはスローされませんでしたが、空白のままにされました。
同じ問題が発生しました。 browser-syncもlocalhost:3000で実行されていることがわかりました。
Rails開発者はブラウザ同期を使用してフロントエンドスクリプトをすばやくテストするため、ポート3000が使用される一般的な理由であると考えられます。
私にとって...私は職場でプロキシの後ろにいて、やらなければならなかったRails s -b 0.0.0.0 -p 3000
/ etc/hostsファイルを確認してください。他のアドレスを指しているip 0.0.0.0またはlocalhostを確認してください。