使用自定义网址的不同本地目录是否可以“流浪”?

时间:2017-05-18 11:29:53

标签: vagrant vagrantfile

我在/ var / www / html下有两个目录,名为vlp1,vlp2和Vagrant设置。如果我在这些文件夹中单独运行vagrant up,则默认本地网址为vagrant.local。但vagrant.local/始终从vlp1文件夹加载网站。

应该是这样,vagrant global-status表明我有两个在这些目录下运行的虚拟机。我需要并排运行这两个站点并且这样做我看到的唯一选项是拥有单独的URL。我相信有一种方法可以为不同的网站分配不同的网址,但不知道如何!

我需要做些什么来完成上述操作,以便我的网站像 local.vlp1.com local.vlp2.com 一样运行,或者可能像 vagrant.vlp1 vagrant.vlp2

根据项目说明,我必须将两个网站完全分开放在两个文件夹中,并且必须使用单独的Vagrantfiles

  • 操作系统:Ubuntu 14.04 64位
  • 已安装VitualBox版本:5.1
  • 已安装的Vagrant版本:1:1.9.4

谢谢!

更新 按照Henri的建议完成以下步骤:

第1步:

$ vagrant global-status

输出:

id       name    provider   state   directory                           
------------------------------------------------------------------------
eb9b569  default virtualbox running /var/www/html/vlp1                  
190608c  default virtualbox running /var/www/html/vlp2

第2步:在vlp2上正常关闭

$ vagrant halt 190608c

第3步:现在输出vagrant global-status

id       name    provider   state    directory                           
-------------------------------------------------------------------------
eb9b569  default virtualbox running  /var/www/html/vlp1                  
190608c  default virtualbox poweroff /var/www/html/vlp2 

第4步:

$ sudo gedit /var/www/html/vlp2/Vagrantfile

if CONF['ip'] == "dhcp"
    config.vm.network :private_network, type: "dhcp", hostsupdater: "skip"
else
    config.vm.network :private_network, ip: "192.168.2.5"
end

第5步:重新启动vlp2计算机

$ vagrant up 190608c

第6步: $ vagrant global-status现在显示两台机器再次回到运行状态。

id       name    provider   state   directory                           
------------------------------------------------------------------------
eb9b569  default virtualbox running /var/www/html/vlp1                  
190608c  default virtualbox running /var/www/html/vlp2

第7步: 在/ etc / hosts中添加了以下条目

192.168.2.5   vagrant.vlp2

最后我在浏览器中尝试了vagrant.vlp2 /,但最终得到以下消息:

  

无法联系到本网站   http://vagrant.vlp2/无法访问。

1 个答案:

答案 0 :(得分:0)

据我所知,您正在使用多个VM,因此在这种情况下最简单的方法是为每个VM分配一个静态IP(必须是不同的),以便在Vagrantfile中执行此操作

Vagrant.configure("2") do |config|
  ...
  config.vm.network "private_network", ip: "192.168.10.x"
  ...
end

并为第二个VM使用另一个IP

Vagrant.configure("2") do |config|
  ...
  config.vm.network "private_network", ip: "192.168.20.y"
  ...
end

然后使用信息

更新/etc/hosts文件
192.168.10.x    vagrant.vlp1
192.168.20.y    vagrant.vlp2