搜索
查看: 1141|: 0

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

[复制链接]

134

主题

2

回帖

528

积分

高级会员

积分
528
发表于 2014-7-29 11:34:58 | 显示全部楼层 |阅读模式

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

1、保证开发环境和生产环境一致
虚拟化开发环境其实就是在本机虚拟一个生产环境,得益于硬件的低廉,开发机已经变得性能非常强劲,4核、32G内存的计算机也不需要太多的费用,跑虚拟机相当顺畅。
使用虚拟化开发环境,开发人员在本机可以使用自己喜欢或者顺手的OS(Windows、Linux、Mac OS等),而程序是运行在虚拟机中,迁移到生产环境可以避免环境不兼容导致的莫名错误。
虚拟化开发环境对于团队中开发环境OS、测试和生产环境不同的情况特别适用。


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
方法一、下载安装包,官方网站:http://downloads.vagrantup.com/
注意,尽量下载最新的程序,因为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,http://files.vagrantup.com/lucid32.box

也可以选一个团队在用的系统,http://www.vagrantbox.es/
或者自己做一个也行

我服务器都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 http://files.vagrantup.com/lucid32.boxvagrant box add base https://dl.dropbox.com/u/7225008 ... -minimal.boxvagrant box add base e:/vbox/CentOS-6.3-x86_64-minimal.boxvagrant box add "CentOS 6.3 x86_64 minimal" e:/vbox/CentOS-6.3-x86_64-minimal.box
安装过程的信息
[vagrant] Downloading with Vagrant:ownloaders::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"
初始化过程的信息
A `Vagrantfile` has been placed in this directory. You are nowready to `vagrant up` your first virtual environment! Please readthe comments in the Vagrantfile as well as documentation on`vagrantup.com` for more information on using Vagrant.    5)修改Vagrantfile,加一些项目需要的路径和端口映射  config.vm.forward_port 虚拟机内端口, 本机端口  config.vm.forward_port 80, 80  config.vm.forward_port 5000, 5000    config.vm.share_folder "标识", "虚拟机内路径", "本机路径"  config.vm.share_folder "v-data", "/data", "e:/workspace/data"  config.vm.share_folder "v-work", "/work", "e:/workspace/work"
我的生产环境有/data、/work两个目录,所以做了映射

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-12-24 01:35 , Processed in 0.090516 second(s), 24 queries .

快速回复 返回顶部 返回列表