Home / PostsPost

使用Vagrant和VirtualBox在windows部署环境

嘟噜聪2015/03/29 11:03:07 2624人已阅

简介 做Web开发少不了要在本地搭建好开发环境,虽然说目前各种脚本都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的相性并不是那么好,各麻烦的问题是实际部署的环境通常是Linux,常常还要面临着开发和部署环境不一致,上线前还要大量的调试。更要命的是,如果有很多机器需要装的话,那就真是一个灾难了。

    做Web开发少不了要在本地搭建好开发环境,虽然说目前各种脚本都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的相性并不是那么好,各麻烦的问题是实际部署的环境通常是Linux,常常还要面临着开发和部署环境不一致,上线前还要大量的调试。更要命的是,如果有很多机器需要装的话,那就真是一个灾难了。

<br />

&nbsp;&nbsp;&nbsp;&nbsp;Windows下玩Linux少不了虚拟机,但装系统依旧是相当费事。在现在什么都在自动化的今天,Vagrant就是这么一个神器,基于Ruby开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。

&nbsp; &nbsp; 下载并安装VirtualBox和Vagrant

&nbsp; &nbsp; 下载<span>VirtualBox:&nbsp;<a href="https://www.virtualbox.org/wiki/Downloads" target="_blank">https://www.virtualbox.org/wiki/Downloads</a></span><a href="https://www.virtualbox.org/wiki/Downloads" target="_blank"></a>

&nbsp; &nbsp; 下载Vagrant:&nbsp;<a href="https://www.vagrantup.com/downloads.html" target="_blank">https://www.vagrantup.com/downloads.html</a>

&nbsp; &nbsp; 下载box:&nbsp;<a href="http://files.vagrantup.com/precise32.box" target="_blank">http://files.vagrantup.com/precise32.box</a>(这个是官网提供的范例,推荐用这个吧我装的CentOs6.5 x64似乎是有点问题)

&nbsp; &nbsp; 这个地方有很多可用的box 根据自己需求去寻找:<a href="http://www.vagrantbox.es/" target="_blank">http://www.vagrantbox.es/</a>

&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://source.lattecake.com/images/2015/03/cc9acb026802c477562805f1be89daec.png" alt="" />

&nbsp; &nbsp; OK 开始 安装 吧,VirtualBox 一直下一步就行了

&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://source.lattecake.com/images/2015/03/75b1a3fbe3723f220879da0545726879.png" alt="" />

&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://source.lattecake.com/images/2015/03/893d66874e78b1e8cc922e1a9f91a48e.png" alt="" />

<span>&nbsp;&nbsp;&nbsp;&nbsp;然后安装Vagrant</span>

&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://source.lattecake.com/images/2015/03/cba660946a6da5a7bbb69926557e8a0b.png" alt="" />

&nbsp; &nbsp; 安装好后估计需要重启一下,它得设置一下环境变量(windows就是这么恶心)

&nbsp; &nbsp; 安装好后 打开 DOS 窗口输入

<br />

vagrant
如果环境变量设置成功的话那应该会显示以下内容

<br />

<img src="http://source.lattecake.com/images/2015/03/b4722cd9a79ae0592c04199d75604adf.png" alt="" />

然后创建一个目录,并把下载 好的box文件 放到该目录 ,这个自己定吧。

<img src="http://source.lattecake.com/images/2015/03/98e43f4fad36f34869d9e867f1baae3c.png" alt="" />

执行命令:

<br />

vagrant box add {作者}/{名称} {box文件}

<br />

<img src="http://source.lattecake.com/images/2015/03/316c90f66234458231511fe3093a7d9f.jpeg" alt="" />

BOX加载完后执行命令进行初始化:

vagrant init
执行完后 当前目录 应该会生成一个.vagrant 目录 跟Vagrantfile 文件

<img src="http://source.lattecake.com/images/2015/03/0f7fe828fce0d1a45664cc32fddbb082.png" alt="" />

Vagrantfile就是配制文件用Ruby写的

打开Vagrantfile文件找到&nbsp;

config.vm.network "public_network"

<img src="http://source.lattecake.com/images/2015/03/f74b58c3b745796cf7515924ba4fe576.png" alt="" />

这个是设置公网IP 当然也可以设置私有网络&nbsp;

config.vm.network "private_network", ip: "192.168.1.188"

再找到同步目录选项

config.vm.synced_folder "{你的项目开发目录}", "{对应虚拟机的目录}", owern: "{用户}", group: "{用户组}"

设置好后执行以下命令:

vagrant status #查年虚拟机状态
vagrant up     #启动虚拟机
vagrant ssh   #进入虚拟机

<br />

其他命令:

vagrant up #启动虚拟机
vagrant halt #关闭虚拟机
vagrant suspend #暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用
vagrant resume #恢复虚拟机
vagrant destroy #删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留

<br />

<br />

<br />

很赞哦! (1)

文章评论

标签

站点信息

  • 微信公众号