IT技术员有一个共同点,就是不想做重复的工作,想节省时间。IT技术人员经常通过虚拟机软件搭建各种开发环境或测试环境,可能大家比较熟悉的是VirtualBox.如果说你这个没用过,那估计你用的是Vmware。
那么问题来了,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
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的常用高级功能,尤其是项目小组协同合作或异地协作的应用。
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!