2013-11-26 29 views
4

我正在使用vagrant Geodjango box并且端口转发对我无效。流浪者端口转发不适用于小牛

包装盒上,我已经运行:

python manage.py runserver 0.0.0.0:8000 

http://localhost:8000http://localhost:4567都发现在主机上什么都没有。

在漂浮的盒子,curl -v 'http://localhost:8000/'给出了常用的:

<h2>Congratulations on your first Django-powered page.</h2> 

这表明Django是好的运行。但在主机上,试图curl -v 'http://localhost:8000/'给出了下面的输出:

curl: (7) Failed connect to localhost:8000; Connection refused 

我Vagrantfile有以下端口转发设置:

config.vm.forward_port 8000, 4567 

禁用Mac的防火墙并不能帮助和停止Apache没有什么区别。我已经尝试在主机上运行lsof -i :8000并且没有输出,所以我没有使用该端口。

任何人都可以提出任何建议吗?

+1

啊,理解了它 - 有一个关于端口转发警告,我还没有看到,就在'无业游民reload'过程的开始。流浪者重新分配了端口,所以这个站点实际上在端口2201上运行,'http:// localhost:2201 /'工作。 – Richard

回答

4

很高兴看到你自己想出来。

只想添加我的2美分,在V2 Vagrantfile中,端口转发代码块如下图,尝试使用新的端口冲突(以避免端口冲突)(我总是感到困惑,哪个是哪个)。

config.vm.forward_port 8000, 4567正在将来宾端口8000转发给主机4567,而不是其他方式。

在V2格式,它看起来像下面,这是从我看来

Vagrant.configure("2") do |config| 
    config.vm.network "forwarded_port", guest: 80, host: 8080 
end 
8

我对优胜美地同样的问题,没有端口转发了更清晰。禁用来宾机器上的防火墙过滤器帮助:

sudo service iptables stop 
+1

我也可以确认禁用我客人的防火墙在优胜美地上为我解决了同样的问题 – DaddyMoe

+0

我的问题也是防火墙,但是我没有使用“sudo服务”。这里的文档非常有用https://wiki.centos.org/HowTos/Network/IPTables - 密切关注#iptables -P INPUT ACCEPT和#iptables -F。即使您可以使用“sudo service iptables stop”,也值得阅读,因为您不想在不理解后果的情况下禁用防火墙。 –