Rails服务器正在运行,但无法连接到localhost:3000

Ale*_*ung 16 ruby-on-rails localhost

我正在使用railstutorial.org学习Ruby on Rails我已经设置了所有内容,并且从第1章开始工作正常.但是,我的下一个应用程序突然出现了问题.

我运行"rails server"

=> 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
Run Code Online (Sandbox Code Playgroud)

似乎工作正常,就像我之前的应用程序一样.

但是,我尝试在各种浏览器上连接到localhost:3000,0.0.0.0:3000,127.0.0.1:3000并且它们都无法与服务器建立连接.

有些事情需要注意:

我刚刚能够连接到localhost - 它似乎突然停止了工作.

- 我的第一个应用程序工作得很好,但现在它也不适用于我的第一个应用程序.

- 我没有阻止端口的防火墙,我的主机文件不是问题.

- 我在Ubuntu 12.10上

我几乎总能通过搜索找到解决方案,但不是这次..所以我需要一些帮助.这是非常令人沮丧的,因为我觉得这是一个简单的问题,我花了太长时间被困住.

谢谢.

and*_*ung 15

使用rails 4.2.0,服务器localhost默认绑定,而不是0.0.0.0.在虚拟盒中使用rails时,从主机访问服务器时,绑定地址必须为0.0.0.0

启动rails server -b0.0.0.0以使主机/浏览器可以访问rails服务器.

http://guides.rubyonrails.org/4_2_release_notes.html#default-host-for-rails-server https://github.com/samuelkadolph/unicorn-rails/issues/12#issuecomment-60875268


Siv*_*van 14

尝试在3001之类的其他端口中运行它:
rails server -p 3001
如果它的工作比在3000上面再次尝试它作为上面的命令.
我的其他一些软件正在使用你的3000端口,这就是为什么它没有响应.
或者对于一些高级的东西看到这里


Sey*_*yon 8

确保rake db:create在启动rails之前运行.


Max*_*ard 5

我正在使用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更具体.