2009-08-19 244 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

相關問題