我的Vagrantfile
包含:
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 3000, host: 8080
vagrant up
报告:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Forwarding ports...
default: 3000 => 8080 (adapter 1)
...
使用非特权用户(deploy') I run
rails server`报告您期望的内容:
Booting WEBrick => Rails 4.2.5 application starting in development on http://localhost:3000
[2015-12-01 13:34:41] INFO WEBrick::HTTPServer#start: pid=1638 port=3000
在vagrant vm $ netstat -ntlp
内部报告:
tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 1638/ruby
所以我知道Rails服务器肯定在侦听端口3000
当我浏览主机(OS X)上的http://localhost:8080时,我得到ERR_EMPTY_RESPONSE
。
我试过停止/启动虚拟机,重新加载它等等。我错过了一些明显的东西吗?
提前谢谢
答案 0 :(得分:3)
尝试使用rails server -b 0.0.0.0
答案 1 :(得分:1)
在/etc/hosts
中,将0.0.0.0与localhost关联。当服务正在侦听0.0.0.0时,这意味着服务正在侦听所有已配置的网络接口,当侦听127.0.0.1时,该服务仅绑定到环回接口(仅在本地计算机上可用)。
在来宾计算机上的/etc/hosts
中,将127.0.0.1 localhost
替换为0.0.0.0 localhost
。
然后重启rails服务器。