django 服务器不在带有 vagrant 的主机上 运行

django server not running on host with vagrant

流浪文件:

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

在我的虚拟 machine 我是 运行 这个命令:

python manage.py runserver 0.0.0.0:8080

但是当我尝试在主机 machine 上 curl 时,响应是 curl: (52) Empty reply from server 并且在浏览器上显示 127.0.0.1 didn’t send any data.

我在 Whosebug 上查看了这个问题,大多数人都能够通过在 runserver 命令中添加 0.0.0.0 来解决它。但是,我已经添加了它。

我试过了:

  1. Disabling the firewall 并允许所有连接到虚拟 machine by accepting all input and output in iptables.

  2. 我将 /etc/hosts 中的 127.0.0.1 localhost 更改为 0.0.0.0 localhost 但仍然是相同的响应。

  3. 我也通过禁用主机 machine 上的防火墙来确保我的主机 machine 不会阻止它。

注意:我在虚拟盒子上使用 ubuntu machine,在主机上使用 mac OS。

当虚拟机处于 运行ning 状态时,即使您 运行 vagrant up.

对 Vagrantfile 的任何更改都不会被机器正确注册

为确保所有更改得到正确反映,虚拟机应停止,然后再次 运行。

就我而言,我在流浪者 运行ning 期间更改了转发端口。我在做 vagrant up 假设更改会得到反映,但他们没有。 执行 vagrant halt 然后执行 vagrant up 解决了我的问题。

确保您的端口转发没有被自动更正。如果是这样,请停止所有机器并通过以下方式删除端口转发缓存:

rm -rf ~/.vagrant.d/data/fp-leases