VirtualBox + Vagrant

VirtualBox + Vagrant

它们分别是什么?

VirtualBox:

号称是最强的免费虚拟机软件和VM类似。

不仅具有丰富的特色,而且性能也很优异。

Vagrant:

是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。

使用Oracle的开源VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。

解决了什么问题?

让“代码在我机子上运行没有问题 ” 这种说辞将成为历史。

原理:

我们可以通过Vagrant封装一个Linux的开发环境分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。

如何安装?

安装VirtualBox:

https://www.virtualbox.org/wiki/Downloads

安装Vagrant:

http://downloads.vagrantup.com/

下载系统镜像。[Centos版本:6.5]

http://www.vagrantbox.es/

温馨提示:安装不同的版本,有可能会出现意想不到的错误。

具体操作

添加镜像到Vagrant:

镜像的存放位置为/home/box/centos65.box

cd/home/box/

vagrant box add centosbox centos65.box

初始化开发环境:

vagrant init centosbox #初始化

vagrant up#启动环境

SSH登陆 方式一:

利用Xshell、Putty、SecureCRT等登录。

Ip : 127.0.0.1

Port : 2222

Username : root

Password : vagrant

SSH登陆 方式二:

vagrant ssh [当前登录的账号是vagrant]

su

vagrant [输入后 切换成root账户]

常用配置

Vagrant初始化成功后,会在初始化的目录里生成一个Vagrantfile文件,

可以修改该文件进行个性化的定制。

配置Box信息:

config.vm.box = "box"

config.vm.hostname = "box" [自定义名称]

配置IP:

config.vm.network :private_network, ip: “192.168.33.10”[去掉#]

你可以把IP改成其他地址,只要不产生冲突就行。

配置同步目录:

config.vm.synced_folder “../data”, “/vagrant_data” [去掉#,修改为下面]

config.vm.synced_folder “/home/web/www”, “/data/www“

/home/web/www:本地目录,/data/www:Linux服务器目录

配置虚拟内存:

在文件结尾end字符前添加下面一段:

config.vm.provider :virtualbox do |vb|

        vb.customize ["modifyvm", :id, "--memory", "2048"]

end

温馨提示:修改配置后 记得 重启虚拟机。

打包分发

当你配置好开发环境后,退出并关闭虚拟机。

在终端里对开发环境进行打包:

vagrant package

打包完成后会在当前目录生成一个package.box的文件,

将这个文件传给其他用户,

其他用户只要添加这个box并用其初始化自己的开发目录,

就能得到一个一模一样的开发环境了。

常用命令

vagrant init #初始化

vagrant up #启动虚拟机

vagrant halt #关闭虚拟机

vagrant reload #重启虚拟机

vagrant status #查看虚拟机运行状态

帮助文档

http://segmentfault.com/blog/fenbox/1190000000264347

http://www.tuicool.com/articles/aErYJj

https://github.com/jedi4ever/veewee/issues/970

Thanks ~



PHP团队开发中遇到的那些坑,看我是如何解决的?

Mac PHPStorm使用心得

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • Vagrant可以想象成一个VM的仓库工具,我们可以使用别人做好的VM,或者我们可以自己做一个VM,配置好一些安装...
    idioitcbear阅读 562评论 0 0
  • Vagrant学习笔记 简介 vagrant用于快速创建基于VirtualBox、VMware、AWS的虚拟机,提...
    200cc阅读 8,397评论 0 15
  • 1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,r...
    meng_philip123阅读 2,506评论 0 12
  • 用自己与人的共同经验判断人,不通过二手信息,容易误伤。尽量当面谈,不直接找上级。 现实即正解。不要用自己不切实际的...
    吴少杰1988阅读 314评论 0 0
  • 熙熙攘攘的会场多是九零后刚入职的年轻教师,感觉今天自己到这里来有些不相适宜了。也许在家自我修行才是正道!
    梧桐潇雨xt阅读 175评论 1 0