如何从实际计算机访问虚拟机上的django开发服务器

如何从实际计算机访问虚拟机上的django开发服务器,django,virtual-machine,Django,Virtual Machine,好的,我有一台安装了vmware player的笔记本电脑。我以虚拟机的形式运行lubuntu,我在虚拟机上安装了django并测试了我的应用程序,所以我做了python manage.py runserver,我可以通过从我的虚拟机访问127.0.0.1:8000来访问应用程序,但是,如果我从实际计算机(而不是虚拟机)访问127.0.0.1:8000,它会说“chrome无法连接到127.0.0.1:8000”。。知道如何修复吗?您可以尝试在0.0.0.0 python manage.py r

好的,我有一台安装了vmware player的笔记本电脑。我以虚拟机的形式运行lubuntu,我在虚拟机上安装了django并测试了我的应用程序,所以我做了python manage.py runserver,我可以通过从我的虚拟机访问127.0.0.1:8000来访问应用程序,但是,如果我从实际计算机(而不是虚拟机)访问127.0.0.1:8000,它会说“chrome无法连接到127.0.0.1:8000”。。知道如何修复吗?

您可以尝试在
0.0.0.0

python manage.py runserver 0.0.0.0:8000
IP地址
0.0.0.0
表示“本地计算机上的所有IP地址”(或本地计算机上的所有IPv4地址)

接下来,您将需要VM的ip地址。在其他计算机上访问http://:8000应该可以访问VM上的django开发服务器

注意:如果您的虚拟机只有内部IP(例如192.168.x.x),则只有同一网络上的计算机才能访问虚拟机。

要从主机外部访问虚拟机(来宾),必须将来宾网络模式设置为桥接


网桥模式将来宾连接到实际网络,以便其他计算机可以连接到它

我能够让@Kerberos answer正常工作。(没有足够的分数来评论,所以我将添加它作为一个单独的答案)

我正在VMWare的来宾操作系统中运行Ubuntu12.04 LTS。主机笔记本电脑正在运行Windows 8

正如Kerberos提到的,在VMWare中,转到
Player==>Manage==>virtualmachinesettings…

在硬件选项卡上,选择网络适配器,然后选择桥接:直接连接到物理网络的单选按钮。选择
OK

在VM中,网络连接信息现在应该具有与主机OS internet连接相同的IP地址。在我的情况下:192.168.1.141(你的会有所不同)

在VM中,使用python manage runserver 192.168.1.141:8000启动Django


使用此方法,我可以从虚拟机内部、主机以及同一192.168.1.xxx网络上的其他系统访问在此IP地址运行在虚拟机中的Web服务器。

查看类似主题:您采用什么网络模式?桥?纳特?只有主持人吗?@JeffLi NAT。。当我尝试将网络模式更改为桥接时,我的来宾操作系统失去了互联网访问。嗯,不工作,所以我做了python manager.py runserver 0.0.0.0:8000,从虚拟机转到0.0.0.0:8000,它工作了。然后我打开虚拟机上的终端,输入ifconfig,上面写着inet addr:192.168.174.132,所以我从我的计算机上转到了192.168.174.132:8000,但这不起作用。。有什么问题吗?我能够做到这一点,并在主机上连接到
localhost:8000
。我已将Virtualbox设置为在来宾服务器上使用NAT和转发端口8000。有一个快捷方式可以实现这一点,如果您运行
python manage.py runserver 0:8000
,则可以从主机访问它(当然,如果您设置了端口转发等)。我转到VMWare Player,单击“播放器->管理->虚拟机设置”,然后将“网络适配器”从“NAT”更改为“桥接”。。。这样做之后,我的来宾操作系统就不会失去互联网连接。我在0.0.0.0:8000上运行django服务器,可以通过转到0.0.0.0:8000或从来宾操作系统访问它,但无法从主机操作系统的两个链接中访问它。。知道为什么吗?是的,但我的问题是,即使我尝试了你所做的,一旦我将虚拟机的连接设置为“桥接”并点击OK,我就无法从虚拟机连接到internet。我的虚拟机IP地址也没有改变,当我尝试在主机操作系统的IP地址上运行服务器时,它给出了一个错误,说“无法分配ip地址”,我确认这里建议的两行代码:s/13505540/django中无法分配ip地址的错误在我的etc/network/interface中,所以我只是关闭了我的虚拟机并重新启动它,然后桥接网络,它就工作了。在桥接之后,我还只是在0.0.0.0:8000上运行了surver,然后从主机操作系统的Google Chrome访问了我的虚拟机的ip地址(192.169.2.49:8000),它工作了。