原文:http://blog.csdn.net/hel12he/article/details/51069269

一个月没有更新过了。三月份终于把设计模式看完了,自己也写了一些设计模式的基础代码。也用到了几个设计模式到自己的项目中。 
今天当然不是来说设计模式的,先说说这段时间学到的一个新东西。vagrant,其实之前在用laravel的时候,就知道了这么个东西,一直觉得xampp挺好呀,干嘛还要费神去搞这么个东西呢? 
最近研究了一下,一下子就被其美貌所迷惑,不能自拔,今天先讲讲vagrant的基本知识,后续陆续会更新基于vagrant搭建的php7环境(box我都已经制作好,上传到百度云了,就等分享)、Go环境、Hadoop等。

实际上Vagrant只是一个让你可以方便设置你想要的虚拟机的便携式工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统,本书中我们将使用VirtualBox来进行说明,所以第一步需要先安裝Vagrant和VirtualBox。

安装环境:mac 
注:windows环境下,基本一致

安装VirtualBox

直接来到官网 https://www.virtualbox.org/wiki/Downloads 点击下载最新的virtualbox,双击安装,一路傻瓜化完成。

安装Vagrant

网上有说什么使用gem命令来安装的,建议大家别进这个坑了,直接到官网 https://www.vagrantup.com/downloads.html 下载最新的vagrant,然后双击安装,也是一路傻瓜化,就不说。 
在windows下安装vagrant,为了写入相应配置到环境变量,可能会要求重新启动一下系统。

如何配置Vagrant


下载一个合适的box

进行完以上步骤后,就需要考虑我们的虚拟机需要使用什么操作系统了,我这里会以CentOs7.0为例。在以前使用vm的过程中,我们需要自己去下载镜像,然后进行相关的安装,设置系统等等操作。而vagrant的开源社区,提供了很多已经打包好的操作系统,在vagrant的世界里被称为box。在http://www.vagrantbox.es/ 这里你可以找到你想要的操作系统box,当然你也可以自己制作一个。后续教程会讲到,这里就不多说。

完成一个box的安装

我的开发机是Mac,所以我建立了如下的开发环境目录:

$ /Users/helei/vagrant
$ cd /Users/helei/vagrant

本来,vagrant提供的在线安装,非常便利,但是无奈我国有非常NB的gfw,我为了速度,就先FQ出去把box下载到本地,然后再进行安装。

box链接:https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

vagrant box add 是添加box的命令

其中{title}可以自行设置,我这里使用的是 centos7 ,{url}是下载到本地box路径。我的路径是:/Users/helei/vagrant/centos-7.0-x86_64.box

下面把一些命令执行后的输出进行展示,方便大家比对:

# 安装box
$ vagrant box add CentOs7 /Users/helei/vagrant/centos-7.0-x86_64.box

输出内容:

Downloading or copying the box...
Extracting box...te: 47.5M/s, Estimated time remaining: --:--:--)
Successfully added box 'base' with provider 'virtualbox'!

box中的镜像文件被放到了:/Users/helei/.vagrant.d/boxes/,如果在window系统中应该是放到了: C:\Users\当前用户名.vagrant.d\boxes\目录下。

# 如果是才add 的box,就必须执行本步骤,初始化一次后,以后启动系统,就不需要执行本步骤。
$ vagrant init CentOs7

输出内容:

A `Vagrantfile` has been placed in this directory.
You are now ready to `vagrant up` your first virtual environment!
Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.

这样就会在当前目录生成一个 Vagrantfile的文件,里面有很多配置信息,后面我在慢慢说,默认不做任何配置改动,也是可以启动系统的。

# 启动系统
$ vagrant up

输出内容:

Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'base'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
...

ssh链接到安装的虚拟机

经过以上操作后,完成了虚拟机的安装,现在需要登录上虚拟机,进行操作。链接很简单,可以使用第三方(xshell等)shell工具或系统自带的,进行登录 
在系统中,如mac,可直接使用 vagrant ssh 来完成链接。或者使用第三方如xshell,ip地址是:localhost,端口,需要观察,映射的22端口是多少。一般是2200 或者2222 
用户名与密码均是: vagrant

【补充】使用windows的SecureCRT客户端登录上去以后,发现语言是德语,修改为英文的方式如下:

给 /etc/profile 文件最后面添加如下内容:export LANG='en_US.UTF-8'

然后 source /etc/profile

 

vagrant的命令详解


命令 作用
vagrant box add 添加box的操作
vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up 启动本地环境
vagrant ssh 通过 ssh 登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了 Vagrantfile 后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

下一篇,主要讲vagrant的配置,已经如果通过配置文件,实现多台虚拟机的启动,可以用这种方式搭建hadoop的环境额。

 
 

vagrant系列教程(一):vagrant的安装与初识(转)的更多相关文章

  1. python基础系列教程——Python库的安装与卸载

    python基础系列教程——Python库的安装与卸载 2.1 Python库的安装 window下python2.python3安装包的方法 2.1.1在线安装 安装好python.设置好环境变量后 ...

  2. 史上最详细的Android Studio系列教程一--下载和安装

    链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...

  3. vagrant系列教程(三):vagrant搭建的php7环境(转)

    原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建 ...

  4. vagrant系列教程(二):vagrant的配置文件vagrantfile详解(转)

    原文:http://blog.csdn.net/hel12he/article/details/51089774 上一篇文章完整的讲叙了如何安装一个vagrant的环境.这里主要说一说vagrant的 ...

  5. vagrant系列教程(四):vagrant搭建redis与redis的监控程序redis-stat(转)

    上一篇php7环境的搭建 真是火爆,仅仅两天时间,就破了我之前swagger系列的一片文章,看来,大家对搭建环境真是情有独钟. 为了访问量,我今天再来一篇Redis的搭建.当然不能仅仅是redis的搭 ...

  6. vagrant系列三:vagrant搭建的php7环境

    原文:https://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭 ...

  7. Tkinter系列教程01—引言和安装Tk—Python GUI编程

    目录 Tkinter教程系列01--引言和安装Tk 引言 什么是Tkinter 安装 Tk 为 Windows 安装 Tk 验证是否安装正确 为 GNU/Linux 安装 Tk 使用 Linux 的包 ...

  8. Android Studio系列教程一--下载和安装

    原文链接:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ 背景 相信大家对Android Studio已经不陌生 ...

  9. Android Studio系列教程一--下载与安装

    背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Goo ...

随机推荐

  1. 两种方法上传本地文件到github

    https://www.jianshu.com/p/c70ca3a02087 自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的 ...

  2. LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)

    FTP是网站文件维护中使用比较多的,目前LNMP一键安装包中有Pureftpd和Proftpd服务器安装脚本,LNMP默认不安装任何FTP服务器,需要用户自行安装(1.2开始不再提供proftpd的安 ...

  3. window.history.go(-1)返回且刷新页面

    windows窗口对象(历史)history.go(),history.back(),history.forward(). 因为windows对象引用不是必须的.所以windows.history.g ...

  4. 织梦CMS搭建网站必做的服务器相关安全设置

    http://help.dedecms.com/install-use/server/2011/1109/2124.html#printSource http://www.aliweihu.com/9 ...

  5. 如何让你的.vue在sublime text 3 中变成彩色?

    1.打开sublime,按住shift+Ctrl+P,回车 2.输入Vue Syntax Highlight(因为我的已经装过了,所以这里没有显示) 3.选择Vue Syntax Highlight, ...

  6. 关于RegExp对象实例的lastIndex属性的一些整理

    今天在做正则循环匹配,碰到一个怪问题,第一次可以匹配上,但循环第一次之后,就无法匹配上了.猛然想起,RegExp中lastIndex属性,于是上网搜索了一下,将一些资料整理归纳,以备今后自己查阅(记性 ...

  7. java事件处理机制

    java中的事件机制的参与者有3种角色:   1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...

  8. java乱码详解(java中byte与char的转换)

    转自:http://hi.baidu.com/%C6%F3%D2%B5%BC%D2%D4%B0/blog/item/825a4858d6248e8b810a181a.html   java byte与 ...

  9. SCOPE_IDENTITY()

    @@IDENTYITY,SCOPE_IDENTITY的主要区别:在有触发器中而且触发器的内容里面含有插入标识符的操作的时候,@@IDENTITY则返回的是触发器里面新插入标识符的值而SCOPE_IDE ...

  10. BST,AVL,B,B+,B*,红黑树

    BST(右)和AVL(左) 比较:AVL树每个结点的左右子树的深度差的绝对值不大于1 B - tree 特点:所有结点都包含数据信息,不同查询的效率不同,特殊的:二阶B树就是AVL,三阶B树就是2-3 ...