2009-08-19 249 views
4

软件:Mac OS X 10.5.8上的VMWare Fusion 2.05(也适用于Vista上的VMWare Workstation 6.5.2,用于验证问题) Guest:Ubuntu Server 9.04(也适用于Ubuntu桌面9.04,用于发行) VMware网络的verficiation:桥接 路由器:苹果TimeCapsule,最新的固件VMWare访客网络服务器无法从主机访问

问题:

在来宾上成功安装的Django 1.1后,与起始Django内置-in webserver(在127.0.0.1:8000上监听),我通过wget 127.0.0.1:8000(也通过Ubuntu Desktop 9.04上的Firefox)进行了验证,确实服务器工作。

但是,我还没有能够从主机连接到Django服务器。

具体来说:

在桥接模式下,客户机OS具有IP 172.16.1.6(由TimeCapsule通过DHCP分配),主机OS具有IP 172.16.1.2(由TimeCapsule通过DHCP分配)。我可以成功地从主机ping客人,并从客人ping主机。但端口8000上的Django服务器无法从主机操作系统访问。

是否有必须启用Django服务器从guest虚拟机到主机的路由配置设置?无论是在Ubuntu中,还是在VMWare(Workstation或Fusion)中,还是在Vista或Mac OS X中?

编辑:

我找到了解决方案。当调用django-admin.py runserver时,有一个记录的可选参数ipaddr:port。将其设置为172.16.1.6(而不是默认的127.0.0.1)将启用从guest虚拟机到主机的正确路由。

回答

8

我发现,你可以只启动用下面的命令服务器,并打开了所有的ip的...

python manage.py runserver 0.0.0.0:8000 

不客气。

1

这可能是一个serverFault问题?

我在Mac上始终运行多个VMWare实例,并且它们互相访问得很好,并且从主机访问正常,因此这里没有理论问题。尽管我不是Django的专家,但我也发现你所描述的没有错。

我建议尝试一些更简单的方法,比如尝试访问一个简单的文本index.html文件,首先从VM内的127.0.0.1:8000开始,然后从主机开始172.16.1.6:8000。或者甚至可以设置apache并在端口80上尝试这些以确保连接正常。

+0

感谢您的建议。虚拟机内的wget工作正常,但不是来自主机。我还没有尝试过80端口,但是我还没有看到任何配置设置(VMWare,Ubuntu,Mac OS)的任何部分,这表明端口80的处理方式与端口8000不同。 – nikola 2009-08-19 16:32:48

相关问题