【问题标题】:How can I use Django Development Server with VM(Vagrant and VirtualBox)?如何将 Django 开发服务器与 VM(Vagrant 和 VirtualBox)一起使用?
【发布时间】:2015-12-08 03:19:04
【问题描述】:

我可以看到“它有效!”与我的 Django 项目主机的页面!

当我 vagrant ssh(进入虚拟机)然后在 /myprojectdir python manage.py runserver

python manage.py runserver 0.0.0.0:8000

python manage.py runserver 10.0.2.2 (guest IP):8000

python manage.py runserver 10.0.2.2 (host IP):8000 它说

没有问题 (0)沉默...日期...

Django 版本 1.8.7...

在...http://X.X.X.X:XXXX启动开发服务器

好的,太好了 - 我会检查地址以查看页面,但是

我没有看到“它有效!”页。相反,我在页面的左上角看到了文字

SSH-2.0-OpenSSH_6.6.1

Binding the serverusing the Guest's own IP address 无效。

注意:我使用的 VM 是 CentOS7 机器但是我在 vagrant tutorial standard box, Precise32, 上尝试过这个,它的行为与我上面描述的一样。

深思:

  • Django 方面再次发挥作用;我可以在 host 中对python manage.py runserver 使用相同的文件(有效),但当我在 VM 上时则不行(无效)。

  • 我正在使用 NAT 连接,当我尝试使用桥接连接时,vagrant 请求一个我不知道的密码(无法通过桥接访问)。

  • 我已在我的 Vagrantfile 中包含:config.vm.network :forwarded_port, guest: 22, host: 8000, id: 'ssh'。否则 vagrant 默认使用 2222 端口。

我必须在 Vagrantfile 中进行哪些更改才能让 Django 开发服务器 - “它可以工作!” - 页面在我的 VM 上启动并运行?

当前的 Vagrantfile

    Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-7.1"
  config.vm.box_check_update = false
  config.vm.network :forwarded_port, guest: 22, host: 8000, id: 'ssh'
  config.vm.synced_folder "myApp", "/myApp"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
  config.vm.provision "shell", path: "vagrant-setup.sh"
end

【问题讨论】:

  • 试试这个:config.vm.network :forwarded_port, guest: 8000, host: 8000 # Django webapp 并在虚拟机中运行 django:python manage.py runserver 0.0.0.0:8000
  • 谢谢!我试过了,但因为它说* Forwarded port '8000' (host port) is declared multiple times with the protocol 'tcp'. 我尝试制作 host:8001 并且它通过但仍然与我原来的问题相同。
  • 删除之前的config.vm.network :forwarded_port, guest: 22, host: 8000, id: 'ssh'

标签: python django ssh vagrant vagrantfile


【解决方案1】:

config.vm.network :forwarded_port, guest: 22, host: 8000, id: 'ssh' 将您的来宾计算机 (VM) 上的端口 22 转发到主机上的端口 8000。

因为你想要端口 8000,你应该用 替换它

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

【讨论】:

  • 谢谢@fab。当我尝试 vagrant reload 和/或 vagrant ssh 时,它会无休止地重复 default: Warning: Authentication failure. Retrying...
猜你喜欢
  • 2014-07-13
  • 2018-10-05
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2011-02-01
  • 2012-03-15
相关资源
最近更新 更多