代码之家  ›  专栏  ›  技术社区  ›  nikola

无法从主机访问VMware来宾Web服务器

  •  4
  • nikola  · 技术社区  · 15 年前

    软件:Mac OS X 10.5.8上的VMware Fusion 2.05(也适用于Vista上的VMware Workstation 6.5.2,用于验证问题) 来宾:Ubuntu Server 9.04(也适用于Ubuntu桌面9.04,用于解决问题) VMware网络:桥接 路由器:Apple TimeCapsule,最新固件

    问题:

    在成功地在客户机上安装了django 1.1,并启动了django的内置Web服务器(监听127.0.0.1:8000)之后,我通过wget 127.0.0.1:8000(也通过Ubuntu桌面9.04上的firefox)验证了服务器确实可以工作。

    但是,我无法从主机连接到Django服务器。

    明确地:

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

    是否有必须启用的配置设置才能将django服务器从来宾服务器路由到主机?在Ubuntu中,或者在VMware(工作站或Fusion)中,或者在Vista或Mac OS X中?

    编辑:

    我找到了解决办法。当调用django-admin.py runserver时,有文档记录的可选参数ipaddr:port。将其设置为172.16.1.6(而不是默认的127.0.0.1),启用了从来宾到主机的正确路由。

    2 回复  |  直到 14 年前
        1
  •  8
  •   Leddo    14 年前

    我发现您可以使用以下命令启动服务器,这将打开所有IP…

    python manage.py runserver 0.0.0.0:8000
    

    不客气。

        2
  •  1
  •   Devin Ceartas    15 年前

    这可能是服务器故障问题?

    我一直在macs上运行多个vmware实例,它们彼此都可以很好地访问,从主机访问也可以,所以这里没有理论上的问题。我也觉得你描述的没有什么错,尽管我不是姜戈专家。

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