如何将Django Development Server与VM(Vagrant和VirtualBox)一起使用?

时间:2015-12-03 21:05:19

标签: python django ssh vagrant vagrantfile

我可以看到“它有效!”我的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无效。

注意:我正在使用的虚拟机是一个CentOS7机箱,但我在vagrant tutorial standard box, Precise32,上尝试了这个,它的行为与我上面描述的相同。

思考的食物:

  • Django的一面也在发挥作用;我可以将相同的文件用于主机中的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

1 个答案:

答案 0 :(得分:0)

public partial class MainWindow : Window { [...] public ObservableCollection<DynamicTableColumn> items = new ObservableCollection<DynamicTableColumn>(); [...] public MainWindow() { [...] InitializeComponent(); icDynamicTableColumn.ItemsSource = items; } public class DynamicTableColumn { public string Description { get { return _description; } set { [...] } } private string _description; public string Textfield { get; set; } } } 将您的来宾计算机(VM)上的端口22转发到主机上的端口8000.

因为您需要端口8000,所以应该用

替换它

config.vm.network :forwarded_port, guest: 22, host: 8000, id: 'ssh'