2013-08-31 195 views
9

好的,我有我的實際筆記本電腦安裝了vmware播放器。我正在運行lubuntu作爲虛擬機,並且我在虛擬機上安裝了django並測試了我的應用程序,因此我做了python manage.py runserver,並且可以通過訪問我的VM中的127.0.0.1:8000來訪問該應用程序,但是,如果我從實際的計算機(而不是VM)127.0.0.1:8000,它說'鉻無法連接到127.0.0.1:8000'..任何想法如何解決它?如何從實際電腦訪問虛擬機上的django開發服務器

+0

看看類似的主題: http://stackoverflow.com/questions/1261975/addressing-localhost-from-a-virtualbox-virtual-machine http://stackoverflow.com/questions/1155487/access- tomcat-localhost8080-guest-virtualbox-vm-from-host-os – ambi

+0

你採用什麼網絡模式?橋? NAT?僅限主機? –

+0

@JeffLi NAT ..當我嘗試更改網絡模式以橋接時,我的客戶機操作系統會損失互聯網訪問權限。 – user2719875

回答

8

我能夠得到@ Kerberos答案的工作。 (沒有足夠的評論點,所以我把它作爲一個單獨的答案)。

我在VMWare的客戶操作系統中運行Ubuntu 12.04 LTS。筆記本電腦主機運行的是Windows 8

如Kerberos的所提到的,在VMWare,去Player ==> Manage ==> Virtual Machine Settings...

在硬件選項卡中,選擇Network Adaptor,然後選擇對應的單選按鈕Bridged: Connect directly to the physical network。選擇OK

在VM中,網絡連接信息現在應該具有與主機OS互聯網連接相同的IP地址。在我的情況下:192.168.1.141(你的會有所不同)。

在虛擬機中,開始Django的使用python manage runserver 192.168.1.141:8000

使用這種方法,我可以從虛擬機中該IP地址來訪問虛擬機中運行的Web服務器,從主機,並從其他系統相同的192.168.1.xxx網絡。

+0

正確,但我的問題是,即使我以爲我嘗試了你所做的,一旦我將虛擬機的連接設置爲'橋接'並打好了,我無法從我的虛擬機連接到互聯網。我的虛擬機的IP地址也沒有改變,當我嘗試在我的主機操作系統的IP地址上運行服務器時,它給出了一個錯誤,說'該IP地址不能被分配給',我確認兩條線是這裏建議:s/13505540/error-that-ip-address-can-be-assigned-to-in-django在我的etc/network/interfaces裏 – user2719875

+2

好吧,我關閉了我的虛擬機並重新啓動了它,然後橋接了網絡和它的工作。在橋接之後,我也只是在0.0.0.0:8000上運行了Surver,然後從我的主機操作系統的Google Chrome瀏覽器訪問了我的虛擬機的IP地址(192.169.2.49:8000),並且工作正常。 – user2719875

8

您可以嘗試在0.0.0.0

python manage.py runserver 0.0.0.0:8000 

運行服務器的IP地址0.0.0.0意味着「本地計算機上的所有IP地址」(或所有IPv4本地機器上的地址)。

接下來,您將需要虛擬機的IP地址。 Visting http:// <ip_address_of_vm>:其他計算機上的8000應該訪問虛擬機上的django開發服務器。

注意:如果您的虛擬機只有內部IP(例如192.168.x.x),則只有同一網絡上的計算機才能訪問虛擬機。

+0

嗯,沒有工作,所以我做了python manage.py runserver 0.0.0.0:8000,並從vm,去到0.0.0.0:8000,它的工作。然後,我在vm上打開終端並鍵入ifconfig,它說inet addr:192.168.174.132,所以我從我的計算機去192.168.174.132:8000,但那不起作用..有什麼想法嗎? – user2719875

+0

我能夠做到這一點,並在主機上連接到'localhost:8000'。我已將Virtualbox設置爲在來賓上使用NAT並轉發端口8000。 – Dan

2

從主機外部訪問虛擬機(來賓),您必須設置訪客網絡模式彌合

橋模式連接客人到實際網絡,以便其他機器可以連接到它

+0

我去了VMWare播放器,點擊'播放器 - >管理 - >虛擬機設置',然後將'網絡適配器'從'NAT'更改爲'橋接'...這樣做後,我的客戶操作系統不能失去互聯網連接。我在0.0.0.0:8000上運行了django服務器,並且可以通過訪問來自客戶操作系統的0.0.0.0:8000或http://192.168.174.233:8000/訪問它,但是我無法從任何一個訪問它從主機操作系統的兩個環節..任何想法爲什麼? – user2719875

相關問題