在学习编程的过程中,往往需要配置相应的开发环境。印象中最为头疼的一件事是辛辛苦苦配置了一套开发环境,却由于电脑更换、系统重装等种种原因,导致需要全部重新配置一套。特别是几个小伙伴一起合作开发项目时,为了确保每个人的开发环境一致,需要为多台电脑进行配置。项目没开搞,开发环境就搞死人了。
不过,自从知道有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
,然后在本地add
。Box
的下载地址即可以通过执行上面那条命令在终端显示,也可以Google出来。我下载到~/Downloads/virtualbox.box
, 那么添加Box
的命令是:
1 | vagrant box add chef/centos-6.5 ~/Downloads/virtualbox.box |
初始化开发环境
创建一个开发目录,比如~/myDevEnv
,那么,执行以下命令实现开发环境的初始化:
1 | cd ~/myDevEnv |
如果你的网络非常好,那么,添加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开发环境。