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

vin*_*eet 3 python django vagrant

我在运行“bento/centos-6.7-i386”的 VirtualBox/Vagrant 机器上有一个 Django Web 服务器。我按照本指南创建了一个 Django 项目:https : //docs.djangoproject.com/en/dev/intro/tutorial01/

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

如何从我的主机浏览器访问此 Web 应用程序?我尝试config.vm.network "private_network", ip: "55.55.55.5"在 vagrant 文件中添加这一行,然后尝试按照python manage.py runserver 0.0.0.0:80其他人之前讨论中解释的解决方案之一运行该命令,但我无法使用 55.55.55.5:8000 从我的主机浏览器访问该站点。

如何从浏览器访问 Web 服务器?

以下给出的是我的流浪文件:

# -- mode: ruby -- 
# vi: set ft=ruby : 
VAGRANTFILE_API_VERSION = "2" 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
config.vm.box = "bento/centos-6.7-i386" 
config.vm.network "forwarded_port", guest: 8000, host: 8000 
config.vm.network "forwarded_port", guest: 8080, host: 8080 
config.vm.network "forwarded_port", guest: 5000, host: 5000 
config.vm.network "private_network", ip: "10.10.10.10" 
end
Run Code Online (Sandbox Code Playgroud)

Fli*_*rPA 8

您将来宾上的端口 8000 转发到主机上的 8000。尝试:

python manage.py runserver 0:8000
Run Code Online (Sandbox Code Playgroud)

然后在浏览器中访问:http://localhost:8000

如果您最终还想运行 Web 服务器进行测试,这将使端口 80 空闲。祝你好运!


pl_*_*ock 3

Vagrantfile如果您在端口转发中使用以下行

config.vm.network "forwarded_port", guest: 8000, host: 8000
Run Code Online (Sandbox Code Playgroud)

这意味着您将能够访问8000在主机浏览器的 port 上运行的来宾应用程序8000。这样您就可以通过在主机中点击http://127.0.0.1:8000 或 来访问。http://localhost:8000

为什么你强迫你的应用程序运行0.0.0.0?。这不是必需的,或者如果您想使用访客 IP 地址进行访问,则使用端口转发是没有意义的。

Vagrantfile如果您在配置后更改了此配置,请不要忘记重新加载

vagrant reload
Run Code Online (Sandbox Code Playgroud)