Vagrant安装配置笔记

在学习编程的过程中,往往需要配置相应的开发环境。印象中最为头疼的一件事是辛辛苦苦配置了一套开发环境,却由于电脑更换、系统重装等种种原因,导致需要全部重新配置一套。特别是几个小伙伴一起合作开发项目时,为了确保每个人的开发环境一致,需要为多台电脑进行配置。项目没开搞,开发环境就搞死人了。

不过,自从知道有Vagrant这玩意之后,以前让我头疼的这些事就一去不复返了。Vagrant是什么?简言之,它是一件基于虚拟机,实现开发环境一次配置,到处使用的神器,更为难得的是资源占用非常低,这让我那台老爷笔记本HP520也出现了第二春。废话不多说,下面简单记一下Vagrant的安装配置过程。细节可以参考官方文档

安装虚拟机

Vagrant主要基于虚拟机实现一次配置,到处使用的功能。常见的虚拟机都支持,比如VMware、VituralBox等。选择一个自己喜欢的安装就行。

安装Vagrant

根据官网[Download]页面,选择相应平台的Vagrant下载安装。

添加Box

Vagrant中的Box概念可以简单理解为一个包,这个包可以是一个纯净的完整的操作系统,也可以是已经配置的开发环境的操作系统,当然也可以是仅仅是为了某些需求而精简的操作系统。

Box有很多,你自己也可以生成。刚开始使用,可以在网站vagrantcloud找一个适合你的, 比如我使用的是chef/centos-6.5。如果你的网络非常好(非常好是指网速够快,又不被GFW)。那么,你可以通过以下命令直接添加Box

1
$ vagrant box add chef/centos-6.5

不过,我的网速不好,所以我是先下载Box,然后在本地addBox的下载地址即可以通过执行上面那条命令在终端显示,也可以Google出来。我下载到~/Downloads/virtualbox.box, 那么添加Box的命令是:

1
$ vagrant box add chef/centos-6.5 ~/Downloads/virtualbox.box

初始化开发环境

创建一个开发目录,比如~/myDevEnv,那么,执行以下命令实现开发环境的初始化:

1
2
$ cd ~/myDevEnv
$ vagrant init chef/centos-6.5

如果你的网络非常好,那么,添加Box和初始化开发环境可以简单的一条命令就可以了:

1
$ vagrant init chef/centos-6.5

启动开发环境

1
$ vagrant up

登录开发环境

1
$ vagrant ssh

配置开发环境

在初始化开发环境之后,会在目录下生成一个文件:Vagrantfile,该文件是Vagrant的配置文件,下面对几个配置选项做简单说明:

  • config.vm.box = "chef/centos-6.5": 简言之,这就是指你的Box的别名,如果你有多个Box,那么可以通过该选项指定使用哪一个Box
  • config.vm.synced_folder "~/Sites", "/var/www/html":同步目录,第一个目录是主机目录,第二个目录是虚拟机目录。通过该选项,你可以在主机使用你喜欢的开发工具修改代码,而不需要通过ssh登录虚拟机使用vim修改代码。
  • config.vm.network :forwarded_port, guest: 80, host: 8080:端口转发,通过该选项,访问主机8080端口的请求都将指向虚拟机的80端口。

结束语

暂时就写这些废话了,官网文档写得比较清晰易懂,可以尽情参考。下一篇记一下Vagrant搭建LAMP开发环境。