原文: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,我為了速度,就先翻牆出去把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
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的環境額。