原因:php
在網上看到斌哥,爽神都寫了關於vagrant的博客,都在說很強大,因此很好奇這玩意怎麼個強大,而後也就本身來一發玩玩看看。html
真實原因:python
說實話是電腦配置過低,win7系統,3G內存,08年的品牌機,因此扛不住Vmware的,之前也是一直在用Vmware,可是面對面前的這臺電腦,也只能呵呵了~
linux
期間曾經用過一段Ubuntu,因爲工做緣由,須要實時QQ進行交流,因此又呵呵了~redis
至於你們說什麼wine+QQ,什麼我的開發的Ubuntu上可運行的QQ,我又只能呵呵了~shell
我的感覺:centos
感受想當年玩過的H3C、Cisco的模擬器同樣,Dos窗口下來完成一切,實在是有種黑的不能再黑的趕腳~
tomcat
vagrant的打包功能相似Vmware的克隆,打包以後能夠拿給其餘人去用,統一的平臺,統一的軟件結構,做爲開發測試的一個公共平臺實在是極好的~
ruby
從新封包的box拿到其它機器上去運行,依舊會存在網卡從新生成的狀況,須要手動清除(僅針對使用 private_network的模式)antd
惟一的不一樣點就是Vmware的克隆出來一個虛機很大很大,而vagrant從新封包依舊是小巧玲瓏~
關於vagrant:
Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境。它 使用Oracle的開源VirtualBox虛擬化系統,使用 Chef建立自動化虛擬環境。
詳細操做步驟:
工具及環境介紹:
工具及環境 | 版本 | 下載地址 |
宿主機環境 | win7 x64 旗艦版 | http://msdn.itellyou.cn/ |
VirtualBox | VirtualBox-4.3.12-93733-Win | https://www.virtualbox.org/ |
vagrant | vagrant_1.6.3 | http://www.vagrantup.com/ |
box | CentOS-6.3-x86_64-minimal.box | http://www.vagrantup.com/ |
xshell | xshell_4.0.0131.1397032097 | http://www.netsarang.com/download/main.html |
亮點來了,請仔細看額:
一、安裝VirtualBox
(略)
二、安裝vagrant
三、下載box
四、安裝xshell
五、正式開始進行操做~
新建一個文件夾做爲工做目錄
打開一個dos窗口,初始化該目錄,而後導入box
Note: 導入box的默認指令
vagrant box add name uri
可是因爲直接制定uri的話,就至關於在線下載了,那速度是至關的慢啊,因此這裏我就事先下載好 了,直接導入便可
vagrant init vagrant box add centos6.3 j:\迅雷下載\CentOS-6.3-x86_64-minimal.box
修改Vagrantfile配置文件,該文件管控着虛擬機的運行
我這裏比較懶,直接網上找了一個相關的配置文件,修改了下,就直接用了
修改後的文檔:啓用了四個虛擬機,內存均爲256M
# -*- mode: ruby -*- # vi: set ft=ruby : app_servers = { :http => '192.168.58.20', :php => '192.168.58.21' } Vagrant.configure("2") do |config| config.vm.box = "centos6.3" config.vm.define :haproxy do |haproxy_config| haproxy_config.vm.network :private_network, ip: "192.168.58.10" haproxy_config.vm.network :forwarded_port, guest: 80, host: 8080 config.vm.provider :virtualbox do |vb| vb.name = "haproxy" vb.customize ["modifyvm", :id, "--memory", "256"] end end app_servers.each do |app_server_name, app_server_ip| config.vm.define app_server_name do |app_config| app_config.vm.hostname = "#{app_server_name.to_s}.vagrant.internal" app_config.vm.network :private_network, ip: app_server_ip # app_config.vm.synced_folder "../app", "/opt/app" app_config.vm.provider "virtualbox" do |vb| vb.name = app_server_name.to_s vb.customize ["modifyvm", :id, "--memory", "256"] end end end config.vm.define :redis do |redis_config| redis_config.vm.hostname = "redis.vagrant.internal" redis_config.vm.network :private_network, ip: "192.168.58.30" redis_config.vm.provider "virtualbox" do |vb| vb.name = "redis" vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] vb.customize ["modifyvm", :id, "--memory", "256"] end end end
開啓虛擬機,這裏你能夠徹底開啓,也能夠只開啓一臺
PS: 第一次開啓的時候,建議一臺一臺的開啓,這樣的話方便記錄ssh鏈接端口號(我的偏好使用xshell)
使用xshell連接測試
鏈接帳號:vagrant
鏈接密碼:vagrant
su到root下密碼:vagrant
經常使用命令
vagrant box list # 列出當前導入的box vagrant destory # ***machine vagrant box remove [name] # 移除box vagrant up [name] # 啓動machine vagrant halt [name] # 關閉machine vagrant status [name] # 查看machine的狀態
打包
關閉當前機器,而後打包(我這裏爲haproxy這臺機器安裝了epel源)
寫到這裏好像要打完收工了,還有啥~
額,還有好多知識沒有說
vagrant的幾種網卡類型
使用過程當中碰到的問題,後續在更新吧~
使用感覺:
搭建了一個haproxy + tomcat的環境,三臺機器全開,佔用系統資源也不是很大,跑起來絕對沒問題,也挺流暢~
參考文檔:
斌哥的網站:http://opslinux.com/shi-yong-vagrantda-zao-ni-de-xu-ni-huan-jing.html
爽神的網站:http://www.iamle.com/archives/1684.html
Vagrantfile借用站點:http://blog.sina.com.cn/s/blog_804327560101eiyk.html
官方站點:http://docs.vagrantup.com/v2/
吐槽大會:這玩意用起來也就那麼回事,是蠻方便的,可是對於程序猿來講也是一個頭大的事情,並且Dos窗口那麼不和諧~ 等到圖形界面和VirtualBox徹底整合了的話,估計就是一鍵點擊下的事了,不過到那個時候又不知道會有什麼新的工具出來,總的來講,能用,有亮點,可是亮點不是徹底超越性的~