此博客不再维护,博客已迁移至 https://github.com/purplebamboo/blog/issues
文章目录
  1. 1. vagrant介绍
  2. 2. 安装
  3. 3. 使用
  4. 4. 配置
    1. 4.1. 设置虚拟共享目录
    2. 4.2. 修改端口映射
  5. 5. 常用命令

很久之前,当我还是个小白的时候,学长们是这么教育我的,在windows下面开发的程序员永远都是小白。

作为一个穷屌丝又买不起mac,于是只好默默的学习使用ubuntu,习惯后发现ubuntu开发真的很爽,但是qq,酷狗各种不能用,最要命的是photoshop也没有。

其实我就是需要个开发环境,需要个linux终端,需要个共享的开发目录,可以在windows下开发,在ubuntu下跑程序。

之后团队的大神指出了一条明路,vagrant

vagrant介绍

什么是vagrant,vagrant是一个使用命令行来管理虚拟机环境的工具。说白了vagrant还是建立在virtural box这样的虚拟机软件上的。
它有这些好处:

  • 在虚拟机上跑各种环境,通过共享目录在windows下编写代码。
  • 启动后直接ssh到虚拟机上。这样就有个终端了。
  • 每个虚拟机镜像就是一个box,我们可以使用别人制作好的box,也可以本地打个包,把你的box发给别人,别人就会得到一模一样的开发环境。

分发环境,终端,共享目录,该有的都有了。。从此解脱了。

安装

首先你先要安装VirtualBox。不会装的自行百度谷歌 = =。
下载地址:https://www.virtualbox.org/wiki/Downloads

然后开始安装vagrant
下载地址:http://www.vagrantup.com/downloads.html
我是直接装的win版的,直接一路安装next到底。

装完之后查看一下你的环境变量。如果没有vagrant的,需要自己手动设置下。

使用

装完后在命令行工具里输入:

1
2
3
4
5
 $cd demo  //新建一个项目文件夹并且cd进去
 $vagrant box add {title} {url} //添加一个box,title随便取,最好是自己的项目名称,url是box的地址,本地,线上的都支持。
 $vagrant init {title} //使用上面添加的box在当前目录生成vagrant的环境。
 $vagrant up //启动虚拟机
 $vagrant ssh //ssh到虚拟机

已经有很多人制作了box,官方这边有个box列表都是可以使用的。你可以直接在线添加,也可以下载下来后使用本地地址添加。鉴于天朝的网络问题。还是下到本地保险点。

我使用的是一个装好rails的ubuntubox地址http://leopard.in.ua/rwprecise64/

因为windows本身的cmd命令行太简陋,不支持ssh,git等等。我们需要本地装个gitbash或者cygwin

启动好后,也可以使用其他工具ssh到虚拟机。这边我是用的putty,google的产品一如既往的给力。

ssh地址为127.0.0.1用户名密码都是 vagrant。

默认情况下你初始化的目录/demo会自动共享到虚拟机的/vagrant目录。这样 你就可以把代码放在windows下的demo目录再用终端在虚拟机上跑代码。非常爽。

配置

vagrant的配置都在你的初始化目录的vagrantfile里面。

包括这些配置。

设置虚拟共享目录

1
config.vm.synced_folder "demo", "/vagrant"

第一个参数是 本机的目录 第二个是虚拟机上的挂载共享目录

修改端口映射

1
config.vm.network :forwarded_port, guest: 80, host: 8080

第一个参数是 虚拟机的端口
第二个参数是 本机的端口
这个的意思是 将本机的8080端口映射到虚拟机的80端口。这样如果你在虚拟机里面跑了80端口的apache或者nginx等等,就可以在本机通过localhost:8080放到 虚拟机里面80端口的服务。

更多配置见官网

常用命令

1
2
3
4
5
6
7
8
$ vagrant init  # 初始化
$ vagrant up  # 启动虚拟机
$ vagrant halt  # 关闭虚拟机
$ vagrant reload  # 重启虚拟机
$ vagrant ssh  # SSH 到虚拟机
$ vagrant status  # 查看运行状态
$ vagrant destroy  # 销毁虚拟机
$ vagrant mybox  # 打包当前的box,生成mybox.box,之后可以分发给别人安装了
文章目录
  1. 1. vagrant介绍
  2. 2. 安装
  3. 3. 使用
  4. 4. 配置
    1. 4.1. 设置虚拟共享目录
    2. 4.2. 修改端口映射
  5. 5. 常用命令