VirtualBox + Vagrant

0.416字数 820阅读 4906
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使用心得

推荐阅读更多精彩内容