软件:Mac OS X 10.5.8上的VMWare Fusion 2.05(也适用于Vista上的VMWare Workstation 6.5.2,用于验证问题) 访客:Ubuntu Server 9.04(也适用于Ubuntu Desktop 9.04,用于解决问题) VMWare网络:桥接 路由器:Apple TimeCapsule,最新固件
问题:
在guest虚拟机上成功安装Django 1.1并启动Django的内置web服务器(监听127.0.0.1:8000)之后,我通过wget 127.0.0.1:8000(以及Ubuntu Desktop 9.04上的Firefox)验证了服务器工作。
但是,我无法从主机连接到Django服务器。
具体做法是:
在桥接模式下,客户操作系统具有IP 172.16.1.6(由TimeCapsule通过DHCP分配),主机操作系统具有IP 172.16.1.2(由TimeCapsule通过DHCP分配)。我可以从主机成功ping客户端,也可以从guest虚拟机ping主机。但是无法从主机操作系统访问端口8000上的Django服务器。
是否必须启用任何配置设置才能将Django服务器从guest虚拟机路由到主机?在Ubuntu,VMWare(工作站或Fusion),Vista或Mac OS X中?
编辑:
我找到了解决方案。在调用django-admin.py runserver时,有一个记录的可选参数ipaddr:port。将其设置为172.16.1.6(而不是默认值127.0.0.1)可以启用从guest虚拟机到主机的正确路由。
答案 0 :(得分:8)
答案 1 :(得分:1)
这可能是一个serverFault问题?
我一直在mac上运行多个VMWare实例,并且它们可以很好地相互访问,并且来自主机的访问工作正常,因此这里没有理论问题。虽然我不是Django专家,但我发现你所描述的内容并没有错。
我建议尝试更简单的方法,例如尝试访问简单的文本index.html文件,首先从VM内部的127.0.0.1:8000,然后从主机中访问172.16.1.6:8000。或者甚至可能设置apache并在端口80上尝试这些以确保连接正常。