我是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,它会让我拒绝错误连接。有人知道如何调试这个吗?
答案 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