那么问题来了,Vagrant是干什么用的?相信大家都知道,每次用个虚拟机,配置环境,加上软件啥的,再快也要折腾一两个小时,只管也可以备份镜像来共享,但是在团队协作,环境变更方面就不太方便了。
比如说我目前要利用laravel来开拓一个新项目,如果我本来没有开拓环境,在window下开拓,我须要安装下面这些apache,mysql,php。然后要安装laravel,我须要安装git或composer。那如果我同事要一起参与到项目的开拓,它的电脑上是不是也要重复这些步骤?好,即便是有类似wamp,xamp,lnmp(a)这些安装包,这也须要不少韶光的吧?更主要的是每个人的环境不可能完备一样,你平常是不是常常碰到,刚才在我的电脑环境上运行的好好的啊,不可能啊这样的问题?
但是,如果用vagrant,我只须要几个命令,我同事也一样,几秒到几分钟就可以完成项目开拓环境的支配。

我在window7下的vagrant搭建步骤如下:
1,下载并安装VirtualBox
2,下载并安装Vagrant
3,以上两步都是安装程序傻瓜式下一步进行。这步须要进入命令行模式
cmd
mkdir laravel
cd laravel
vagrant init
以上这些命令便是初始化一个大略的vagrant项目,天生一个Vagrantfile。这个文件是vagrant项目的配置,可以提交到版本库来共享给项目组的其它成员。你也可以直接将现有的项目目录通过vagrant init命令初始化一个vagrant项目,无需创建新目录。
4,安装laravel/homestead免费box
vagrant box add laravel/homestead
编辑项目配置文件Vagrantfile,指定项目利用该box
Vagrant.configure(\公众2\公众) do |config|
config.vm.box = \"大众laravel/homestead\"大众
end
box是vagrant的一个根本观点,它是根本镜像,便是已经配置好的开拓环境的虚拟机镜像,避免重复性事情。
5,启动当前vagrant项目
vagrant up
启动后,box对应的虚拟机也会启动,至于要不要在前台显示虚拟机软件,可以在项目配置文件中设置干系参数。同时你会创造项目所在目录已经被挂载到虚拟机系统的根目录下同名目录下。上面的例子,你可以在window下修正d:/laravel目录下的文件,而在虚拟机中直接运行在nginx上。
d:/laravel => /laravel
通过以上几个大略的步骤,我已经配置好了laravel的开拓和测试环境,我们利用了laravel官方供应的免费box,个中包含了这些软件或组件,如果我们自己动手,不要说要碰到多少问题,纵然很闇练也要花很多韶光的。
Ubuntu 16.04
Git
PHP 7.1
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
ngrok
Ubuntu 16.04
Git
PHP 7.1
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
ngrok
本日就先到这里吧,下次再先容下一些vagrant的常用高等功能,尤其是项目小组协同互助或异地协作的运用。