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

时间:2017-06-08 18:04:31

标签: django vagrant virtualbox portforwarding

Vagrantfile:

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

在我的虚拟机上运行此命令:

python manage.py runserver 0.0.0.0:8080

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

我在stackoverflow上查找了这个问题,他们中的大多数都能够通过向0.0.0.0命令添加runserver来解决它。但是,我已经添加了它。

我试过了:

  1. Disabling the firewall并允许accepting all input and output in iptables.所有与虚拟机的连接

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

  3. 我确保我的主机无法通过禁用主机上的防火墙来阻止它。

  4. 注意:我在虚拟机上使用ubuntu机器,在主机上使用mac OS。

2 个答案:

答案 0 :(得分:4)

当虚拟机正在运行时,即使您运行(123) 4<span style="background-color:#ff0;">56-78</span>90,机器也无法正确注册对Vagrantfile的任何更改。

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

在我的情况下,我在流浪汉运行时更改了转发端口。我正在做vagrant up,假设变化会得到反映,但他们没有。 执行vagrant up后跟vagrant halt解决了我的问题。

答案 1 :(得分:0)

确保您的端口转发不会自动更正。如果是,请按以下步骤暂停所有计算机并删除端口转发缓存:

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