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

Aka*_*mar 3 django virtualbox portforwarding vagrant

流浪文件:

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

在我的虚拟机上,我正在运行以下命令:

python manage.py runserver 0.0.0.0:8080
Run Code Online (Sandbox Code Playgroud)

但是当我尝试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. 我将127.0.0.1 localhost/etc/hosts 中的更改为0.0.0.0 localhost但仍然是相同的响应。

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

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

Aka*_*mar 5

在虚拟机运行时,即使您运行vagrant up.

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

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