vagrant系列教程(一):vagrant的安装与初识(转)
原文: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的安装与初识(转)的更多相关文章
- python基础系列教程——Python库的安装与卸载
python基础系列教程——Python库的安装与卸载 2.1 Python库的安装 window下python2.python3安装包的方法 2.1.1在线安装 安装好python.设置好环境变量后 ...
- 史上最详细的Android Studio系列教程一--下载和安装
链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...
- vagrant系列教程(三):vagrant搭建的php7环境(转)
原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建 ...
- vagrant系列教程(二):vagrant的配置文件vagrantfile详解(转)
原文:http://blog.csdn.net/hel12he/article/details/51089774 上一篇文章完整的讲叙了如何安装一个vagrant的环境.这里主要说一说vagrant的 ...
- vagrant系列教程(四):vagrant搭建redis与redis的监控程序redis-stat(转)
上一篇php7环境的搭建 真是火爆,仅仅两天时间,就破了我之前swagger系列的一片文章,看来,大家对搭建环境真是情有独钟. 为了访问量,我今天再来一篇Redis的搭建.当然不能仅仅是redis的搭 ...
- vagrant系列三:vagrant搭建的php7环境
原文:https://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭 ...
- Tkinter系列教程01—引言和安装Tk—Python GUI编程
目录 Tkinter教程系列01--引言和安装Tk 引言 什么是Tkinter 安装 Tk 为 Windows 安装 Tk 验证是否安装正确 为 GNU/Linux 安装 Tk 使用 Linux 的包 ...
- Android Studio系列教程一--下载和安装
原文链接:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ 背景 相信大家对Android Studio已经不陌生 ...
- Android Studio系列教程一--下载与安装
背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Goo ...
随机推荐
- Yourphp 使用说明
https://wenku.baidu.com/view/c8d2e667cc1755270722088a.html 这个是站点的配置信息,比如:网站名称. LOGO .网站标题等 推荐位:个别可能用 ...
- [SinGuLaRiTy] 复习模板-图论
[SinGuLaRiTy-1041] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 计算树的直径 //方法:任选一个点作为起点进行一次BFS ...
- Linux入门——用户组管理
Linux用户组的管理 简介 用户组用来控制操作权限,防止无关人员莫名 rm -rf 重要文件,导致文件无法恢复或者花费很大代价恢复,这不是一个系统管理员 想看到的结果,所以一般系统管理员都会给开发人 ...
- myeclipse编码
window --->perferences
- rsync - 远程同步工具
一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...
- Centos7-卸载自带的jdk 安装jdk8
卸载JDK Centos7一般都会带有自己的openjdk,我们一般都回用oracle的jdk,所以要卸载 步骤一:查询系统是否以安装jdk #rpm -qa|grep java 或 #rpm ...
- [转]js 正则表达式
一.正则表达式中包括的元素 1.原子(普通字符:a-z A-Z 0-9 .原子表. 转义字符) 2.元字符 (有特殊功能的字符) 3.模式修正符 (系统内置部分字符 i .m.S.U…) 二.正则表达 ...
- elasticsearch java和_head插件对索引文档的增删改查
利用head插件: 1,创建索引并添加一条数据(yananindex:索引名称,yanantype:索引类型,1:索引id) 2.修改索引数据(索引id1不变,_version是对该索引数据执行了几次 ...
- js/j'query相互转换操作指南
// jquery对象转js对象 $('#search')[0].checked=true; // js对象转jquery对象 var obj = document.getElementById('s ...
- ORACLE 博客文章目录(2015
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...