从主机浏览器访问 VirtualBox/Vagrant 机器上的 Web 服务器?

Access web server on VirtualBox/Vagrant machine from host browser?

我在 VirtualBox/Vagrant 机器上有一个 Django 网络服务器 运行 Ubuntu.

我已经按照本指南创建了一个 Django 项目:https://docs.djangoproject.com/en/dev/intro/tutorial01/

我在我的客户机内的 http://127.0.0.1:8000/ 有一个网络服务器 运行。这是我第一次 运行 Django 网络服务器。它应该是一个 hello world 应用程序。

如何从我的主机浏览器访问此 Web 应用程序?

我已经尝试 运行 来宾中的 ifconfig 来获取我应该访问的 IP 我在 inet addr 中找到了一个有希望的 IP 地址。

但我已经尝试在我的主机浏览器中输入以下内容,但没有成功。 http://inetaddrnumbers:8000/

如何从我的浏览器访问网络服务器?

试试这个。

  1. 打开vagrant文​​件(应该在你指定创建新vagrant机器的目录下)。
  2. 搜索 config.vm.network。如果您之前没有设置文件,应该对其进行注释。
  3. 将其更改为如下所示 config.vm.network "private_network", ip: "55.55.55.5"。这里的ip地址(55.55.55.5)可以是你想要的任何ip地址。
  4. 现在从 vagrant 机器注销并通过此命令重新加载你的 vagrant 机器 vagrant reload
  5. 再次 ssh 到你的 vagrant 机器并通过这个命令重启你的 django 服务器 python manage.py runserver 0.0.0.0:80。同样,如果您愿意,端口地址 (80) 可以是 8000。
  6. 之后,在您的浏览器中输入以下地址 55.55.55.5,希望您应该能看到您的 webapp。

现在如果你想更进一步,你可以编辑你的主机文件,并添加这一行

55.55.55.5 mynewdomain.com

然后在浏览器中输入以下地址,

mynewdomain.com

您应该会看到您的网络应用程序。注意host文件里面的域名没有加www,所以只能访问mynewdomain.com。但是您可以添加它。

希望这对您有所帮助。干杯。

补充@Kakar 的回答,这个配置也可以用这个来完成:

config.vm.network "private_network", type: "dhcp"

这将自动分配 IP。

进一步阅读:https://www.vagrantup.com/docs/networking/private_network.html