您的位置:首页 > 其它

在Mac OS X上安装Virtual Box 和 Vagrant

2015-08-31 14:37 330 查看
做Web开发免不了要在本地搭建好开发环境,其实Mac OS X本身就是基于UNIX的,配合Homebrew几条命令就能搭建PHP+MySql+Nginx的开发环境。而且Mac OS X已经自带PHP和Apache,只需要简单的配置即可运行PHP站点。

但是如果你跟我一样,有点“系统洁癖”,而且又有点爱折腾,那么强烈推荐使用Vagrant


1.下载安装 VirtualBox

下载地址:https://www.virtualbox.org/wiki/Downloads


2.安装 Vagrant

下载地址:http://downloads.vagrantup.com/ 根据提示一步步安装。


3.下载系统镜像

在init vagrant时可以直接添加系统镜像,考虑到国内的网速情况,建议先使用迅雷等下载工具先下载好系统镜像。

官方封装好的基础镜像:

Ubuntu precise(12.04)32 VirtualBox: http://files.vagrantup.com/precise32.box
Ubuntu precise(12.04)64 VirtualBox: http://files.vagrantup.com/precise64.box

另外这里列出了其他的一些镜像,你可以根据你服务器的环境来选择。 http://www.vagrantbox.es/


4.添加镜像到 Vagrant

假设我们下载的镜像存放路径是 ~/Download/precise64.box,在终端里输入:
$ vagrant box add ubuntu12_04 ~/Download/precise64.box


ubuntu12_04是我们给这个box取的名字,你完全可以根据你的习惯来命名。 ~/Download/precise64.box 则是我们上一步下载的系统镜像所在的路径。


5.初始化开发环境

创建一个开发目录(比如:~/vagrant),你也可以使用已有的目录,切换到开发目录里,用 ubuntu12_04 镜像初始化当前目录的环境:
$ cd ~/vagrant  # 切换目录
$ vagrant init ubuntu12_04  # 初始化


初始化完成之后,就会在当前目录生成
Vagrantfile
,这就是vagrant的配置文件,可以修改这个配置文件进行一些个性化的定制,比如网络连接方式,共享的目录等。
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu_12_04" #定义此虚拟机是从哪个box生成,名字就是我们box add时的名字
config.vm.network "private_network", ip: "192.168.110.100" #私有网络配置
config.vm.synced_folder ".", "/vagrant"  # 将当前目录映射到虚拟机上的/vagrant 目录
#awesome configuration goes here...
end


6.启动vagrant并通过SSH连接

上一步初试化完成之后,可以先修改Vagrantfile,也可以使用默认配置,然后启动vagrant。
$ vagrant up  # 启动环境


你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了。然后就像登录到了一台VPS或服务器,进行环境的配置。
$ vagrant ssh  # SSH 登录
# install php nginx mysql ...


当配置好相关的环境之后,就可以将当前配置好的虚拟机打包成box,存盘备用,也可以分发给Team的其他同事,统一开发环境。
vagrant package --output NAME --vagrantfile FILE

可选参数:

--output NAME : (可选)设置通过NAME来指定输出的文件名

--vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中


关闭Vagrant

我从来没有主动去关闭Vagrant,一般就直接随系统关掉了。

Vagrant有3种关闭方法。

vagrant suspend
将虚拟机挂起,虚拟机内存都保存到硬盘上,下次可以快速恢复。
vagrant halt
将虚拟机关闭,虚拟机内存释放,下次启动要慢一点。
vagrant destroy
将虚拟机删除,所有变更都丢失,下次启动要重新克隆一个 Vagrant box。

无论那种方式关闭,要再启动 Vagrant 都是用 vagrant up 命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: