Ruby on Rails服务器已启动但无法连接到http:// localhost:3000

时间:2016-12-05 19:53:53

标签: ruby-on-rails ruby

我是Ruby on Rails的新手并且帮助现有项目。我运行了rails服务器,并收到了以下输出

=> Booting Unicorn
=> Rails 4.2.5.2 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
I, [2016-12-05T13:44:05.166061 #15228]  INFO -- : listening on addr=0.0.0.0:8080 fd=11
I, [2016-12-05T13:44:05.185700 #15228]  INFO -- : master process ready
I, [2016-12-05T13:44:05.187404 #15242]  INFO -- : worker=0 ready
I, [2016-12-05T13:44:05.187827 #15243]  INFO -- : worker=1 ready
I, [2016-12-05T13:44:05.188412 #15244]  INFO -- : worker=2 ready
^CI, [2016-12-05T13:45:11.233928 #15228]  INFO -- : reaped #<Process::Status: pid 15244 exit 0> worker=2
I, [2016-12-05T13:45:11.234060 #15228]  INFO -- : reaped #<Process::Status: pid 15243 exit 0> worker=1
I, [2016-12-05T13:45:11.234227 #15228]  INFO -- : reaped #<Process::Status: pid 15242 exit 0> worker=0

这似乎表明服务器已启动并正在运行。但是,我无法连接到http://localhost:3000,它会让我拒绝错误连接。有人知道如何调试这个吗?

2 个答案:

答案 0 :(得分:0)

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

使用-b0.0.0.0启动rails服务器,以便从主机/浏览器访问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

或尝试传递不同的端口

rails s -p 3001

答案 1 :(得分:0)

尝试检查您的主机文件。

Linux /etc/hosts

Windows c:\Windows\System32\drivers\etc\hosts

并编辑localhosts以提供127.0.0.1。或者将它移动到最后。 Rails将最后提到localhost并使用它。

或者您甚至可以使用telnet localhost 3000来判断端口在TCP级别是否不可用。

我的主机文件看起来像

127.0.0.1       localhost
127.0.1.1       myPC

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback