【发布时间】: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 server 或 using 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