VitrualBox 是一款很是强大的免费虚拟机软件,使用者能够在 VitrualBox 上安装并运行 Linux、Windows、Mac OS X 等操做系统,相似的软件还有 VMware
Vagrant 是一个用于建立和部署虚拟化开发环境的工具,其依赖于 VirtualBox 虚拟机,致力于帮助开发者快速构建一个环境统一的虚拟系统。 Vagrant 能够将一整套虚拟环境封装在一个box 内,这样只要全部人都使用这个 box,你们的开发环境就实现统一了!而 Homestead 就是这样一个 Laravel 官方预装的适合 Laravel 开发的 Vagrant box 。 --------------------- 做者:蜗牛蜗牛慢慢爬 来源:CSDN 原文:https://blog.csdn.net/u014665013/article/details/77775911 版权声明:本文为博主原创文章,转载请附上博文连接!
其实能够这样理解,你有了虚拟机(VirtualBox),有了集成环境(homestead环境也就是vagrant box),那么你总须要把集成环境放到虚拟机上是吧。那么谁来作这个事情呢?必需要有人来作才行啊,否则的话,虚拟机是不会本身装环境的。vagrant 就是作这个事情的。php
那么问题又来了,可能会有人问:html
既然vagrant是用来装homestead的,那你为何后来还要再装homestead呢?mysql
这个问题其实我并不知道答案,可是根据个人理解,应该是这样的。laravel
咱们须要对本地文件和虚拟机上的文件进行同步,同时还要进行站点的搭建,VirtualBox、vagrant都不能作这个事情,这个事情就只能交由另一我的来作了:homestead。sql
这里你们可能会有疑问:工具
你刚才说homestead是vagrant box,如今又说homestead是来对本地文件和虚拟机上的文件进行同步,同时还要进行站点的搭建的。这根本就是两个东西嘛,它究竟是什么玩意。学习
其实能够这样理解,第一个homestead(vagrant box)是集成了laravel运行环境的一个box,这里面有php、mysql等等的软件,第二个homestead是控制本地文件和虚拟机上的文件进行同步,同时还要进行站点的搭建的。url
从根本上来讲,他们两个并非同一个东西。spa
但想到这里我又产生了一个疑问:操作系统
既然vagrant是虚拟机和环境之间的桥梁,那若是我有10个虚拟机,1个环境,这个时候若是我执行
vagrant box add laravel/homestead
那么vagrant会把homestead安装到哪一个虚拟机上呢?
我想这个应该不是个问题:
不管它把homestead安装到哪一个虚拟机上,不管安装的是哪一个环境,vagrant老是知道的,当咱们须要使用虚拟机的时候,他会为咱们开启相应的虚拟机,固然你若是不想作一个傻瓜,我猜设计者也提供了让你本身选择的操做了把。
后来我又想,大部分的时候我运行vagrant都是在homestead的目录下,那若是有一天homestead不流行了,你们都不用他了,那vagrant是否是也就凉了呢?
其实并非的,二者并无必要的联系。
vagrant 管理的是虚拟机,
那又有人会说,我为啥要vagrant管理虚拟机,virtualbox本身就有图形化界面,虚拟机的启动,关闭,销毁均可以由virtualbox来作,干吗要vagrant来管理?
后来我想一想,其实这个质疑并非没有道理的。
但咱们能够这样理解。固然virtualbox能够启动,关闭,销毁虚拟机,vagrant也能够不作这样的事情。可是谁来作把环境箱子挪到虚拟机这一步的操做呢?
固然仍是vagrant !!!
累了,具体的缘由在这个url上,明天接着学习吧。https://www.jianshu.com/p/050b0a4468c四、https://www.cnblogs.com/hafiz/p/9175484.html