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

2024-09-26 17:52:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个运行“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应用程序? 我尝试在vagrant文件中添加这行-config.vm.network "private_network", ip: "55.55.55.5",然后尝试按照其他人在前面讨论中解释的解决方案之一运行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

Tags: django服务器webconfighostport浏览器vm
3条回答

我对Django和port forwarding insider VB有问题。在

Django不允许外部主机访问它。在

所以把启动命令改为 Python3/管理.py运行服务器0.0.0.0:8000

一切都成功了

如果您使用Vagrantfile中的下线进行端口转发

config.vm.network "forwarded_port", guest: 8000, host: 8000

这意味着您将能够在主机浏览器的端口8000中访问运行在端口8000的客户应用程序。所以您可以通过点击主机中的http://127.0.0.1:8000或{}来访问。在

为什么要强制应用程序在0.0.0.0上运行。 这不是必需的,或者如果您想使用来宾IP地址进行访问,那么使用端口转发是没有意义的。在

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

^{2}$

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

python manage.py runserver 0:8000

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

如果您最终还想运行一个web服务器进行测试,那么端口80就可以自由使用了。祝你好运!在

相关问题 更多 >

    热门问题