Windows7系统中使用Vagrant构建Linux虚拟化开发环境

一、使用虚拟化开发环境的好处:

1、保证开发环境和生产环境一致

虚拟化开发环境其实就是在本机虚拟一个生产环境,得益于硬件的低廉,开发机已经变得性能非常强劲,4核、32G内存的计算机也不需要太多的费用,跑虚拟机相当顺畅。

使用虚拟化开发环境,开发人员在本机可以使用自己喜欢或者顺手的OS(Windows、Linux、Mac OS等),而程序是运行在虚拟机中,迁移到生产环境可以避免环境不兼容导致的莫名错误。

虚拟化开发环境对于团队中开发环境OS、测试和生产环境不同的情况特别适用。

Vagrant 快速入门

如何使用vagrant在虚拟机安装Hadoop集群

Vagrant 中高效的 Puppet 模块管理

使用 Vagrant 和 Fabric 用于集成测试

使用 Vagrant 搭建开发环境

Windows 下配置 Vagrant 环境

2、简化了调试环境的部署

稍微复杂的系统,部署调试环境就会是个麻烦的事情,nginx、mysql、redis、mongodb等估计都要安装,可能还有一大堆第三方的开发库......,通过虚拟化技术可以简化这些工作。

虚拟环境可以由专人制作,然后分发给开发人员、测试人员,他们可以很方便的在本机调试。

如果生产环境还是多平台(或多个OS版本)的,可以制作多个虚拟机,简单切换一下就可以调试了。

二、开始制作虚拟化开发环境 1、安装VirtualBox

VirtualBox是Oracle开源的虚拟化系统,到官方网站:https://www.virtualbox.org/wiki/Downloads/ 下载virtualbox最新的版本并安装,详细过程略过。

2、使用vagrant

vagrant是一个用Ruby开发的工具,封装了VirtualBox的一些命令,它简化了virtualbox虚拟机的操作,增加了自动化部署软件puppet/chef的支持

通过vagrant可以很方便的创建和部署、分发虚拟化开发环境。

3、安装vagrant

方法一、下载安装包,官方网站:

注意,尽量下载最新的程序,因为VirtualBox经常升级,升级后有些接口会变化,老的vagrant可能无法使用

方法二、vagrant是ruby开发的,如果已经安装了ruby,可以用gem安装:

gem install vagrant

4、建立环境 1)建立开发环境目录(可以跳过,使用已有的目录)

在资源管理器中建一个文件夹
本文是E:\workspace\devel_env

2)打开命令行窗口,vagrant的操作都是命令行的

进入E:\workspace\devel_env目录中
按住shift键,在空白处按鼠标右键,在弹出菜单中点“打开命令行窗口”

3) 加一个box

box是一个zip包,包含了vagrant的配置信息和VirtualBox的虚拟机镜像文件
官方提供了一个box,

也可以选一个团队在用的系统,
或者自己做一个也行

我服务器都CentOS,选了CentOS 6.3 x86_64 minimal

添加box的命令: vagrant box add base 远端的box url或者本地的box文件名 vagrant box add 是添加命令 base 是box的名称,也可以任意的标题,base是默认名称

例子:

vagrant box add base vagrant box add base https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box vagrant box add base e:/vbox/CentOS-6.3-x86_64-minimal.box vagrant box add "CentOS 6.3 x86_64 minimal" e:/vbox/CentOS-6.3-x86_64-minimal.box

安装过程的信息

[vagrant] Downloading with Vagrant::Downloaders::File... [vagrant] Copying box to temporary location... [vagrant] Extracting box... [vagrant] Verifying box... [vagrant] Cleaning up downloaded box...

文件被放到C:\Users\当前用户名.vagrant.d\boxes\目录下

通过vagrant box add 这样的方式安装远程的box,可能很慢,可以先用下载工具把box下到本地

4)初始化

vagrant init

如果你添加的box名称不是base,要在初始化的时候指定,例如

vagrant init "CentOS 6.3 x86_64 minimal"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17796.html