一個月沒有更新過了。三月份終于把設計模式看完了,自己也寫了一些設計模式的基礎代碼。也用到了幾個設計模式到自己的項目中。 今天當然不是來說設計模式的,先說說這段時間學到的一個新東西。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/vagrant1212本來,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 up123123vagrant 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.box1212輸出內容:
Downloading or copying the box...Extracting box...te: 47.5M/s, Estimated time remaining: --:--:--)Successfully added box 'base' with 123123box中的鏡像文件被放到了:/Users/helei/.vagrant.d/boxes/,如果在window系統中應該是放到了: C:/Users/當前用戶名.vagrant.d/boxes/目錄下。
# 如果是才add 的box,就必須執行本步驟,初始化一次后,以后啟動系統,就不需要執行本步驟。$ vagrant init CentOs71212輸出內容:
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.123123這樣就會在當前目錄生成一個 Vagrantfile的文件,里面有很多配置信息,后面我在慢慢說,默認不做任何配置改動,也是可以啟動系統的。
# 啟動系統$ vagrant up1212輸出內容:
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......123456123456ssh鏈接到安裝的虛擬機
經過以上操作后,完成了虛擬機的安裝,現在需要登錄上虛擬機,進行操作。鏈接很簡單,可以使用第三方(xshell等)shell工具或系統自帶的,進行登錄 在系統中,如mac,可直接使用
vagrant ssh來完成鏈接。或者使用第三方如xshell,ip地址是:localhost,端口,需要觀察,映射的22端口是多少。一般是2200 或者2222 用戶名與密碼均是: vagrantvagrant的命令詳解
命令 作用 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的所有環境狀態
新聞熱點
疑難解答