【问题标题】:django server not running on host with vagrantdjango 服务器没有在带有 vagrant 的主机上运行
【发布时间】:2017-11-10 13:56:59
【问题描述】:

流浪文件:

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. 我也通过在我的主机上禁用防火墙来确保我的主机没有阻止它。

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

【问题讨论】:

    标签: django vagrant virtualbox portforwarding


    【解决方案1】:

    在虚拟机运行时,即使您运行vagrant up,对 Vagrantfile 的任何更改都不会被机器正确注册。

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

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

    【讨论】:

    • 您可以在 Vagrantfile 更改后简单地运行 vagrant reload
    • @FrédéricHenri 我不知道。谢谢。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-06-04
      • 2016-07-02
      • 2018-05-20
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多