我正在尝试从Vagrant上的Ubuntu 12.04 64位虚拟机运行Rails应用程序。运行rails server
或rails server -b 0.0.0.0
可以正常运行,但在我尝试从本地Windows 10计算机上联系localhost:3000
或0.0.0.0:3000
时,它会显示ERR_CONNECTION_REFUSED
。
我也把这一行放在Vagrantfile中:
config.vm.network "forwarded_port", guest: 3000, host: 3000
理论上应该允许3000上的端口转发,但当我运行netstat -ntlp
时,我得到:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:50891 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::36063 :::* LISTEN -
所以不管怎么说,我的Vagrant机器还没有收听端口3000。
我也试过vagrant reload
,但没有用。
Rails版本是5.0.1。
我在哪里失败?提前谢谢。
答案 0 :(得分:2)
解决。 Vagrantfile中的行必须是:
config.vm.network :forwarded_port, guest: 3000, host: 3000
所以使用冒号而不是引号。