windows下vagrant的安裝使用

vagrant是簡便虛擬機操做的一個軟件,而使用虛擬機有幾個好處:html

一、爲了開發環境與生產環境一致(不少開發環境爲windows而生產環境爲linux),不至於出如今開發環境正常而移步到正式生產環境時出現各類問題,而vagrant經過共享文件,能夠實如今主機(windows)下的IDE編寫代碼操做,直接在虛擬機(linux)中運行展現出效果。linux

二、在vagrant中只須要搭配一次開發環境,而後就能夠將搭配好的環境系統鏡像打包發送給其餘的同事用了,其餘同事只須要下載vagrant和virtualBox,而後配置下共享目錄後就能夠開發了,不再須要關心配置環境的問題了。ios

三、目前好多擴展如swoole、redis等對linux支持更好,甚至有些只支持linux,因此採用虛擬機,不再須要爲學習新技術找藉口了。git

相關環境機軟件版本:主機:win7;虛擬機:CentOS 6.5 x86_64;vagrant:1.9.5;virtualBox:5.2github

1、安裝步驟以下:web

一、下載virtualBox,地址點這裏,安裝redis

二、下載vagrant,地址點這裏,安裝shell

三、下載鏡像,有幾個地方能夠下載:http://www.vagrantbox.es/https://atlas.hashicorp.com/boxes/search均可以,這裏我隨便找了個centos65-x86_64-20140116windows

四、將下載的鏡像加載,順便說下,第3步能夠不用,vagrant支持在線安裝鏡像,但因爲長城的緣由,因此最好經過其它方法將鏡像下載下來,再在本地加載,,打開cmd,輸入如下命令:centos

# 命令是這樣的,title爲本身起的名字,url爲box地址,能夠在線也能夠本地
# vagrant box add {title} {url}
# 實際安裝命令,本地下載下來的
vagrant box add CentOs6.5_64 E:\boxes\centos65-x86_64-20140116.box

 五、找一個/新建一個目錄,例如vagrant_project,而後初始化環境

複製代碼
#新建目錄
mkdir vagrant_project
#打開此目錄
cd vagrant_project
#初始化,CentOs6.5_64爲你上方設置的title
vagrant init CentOs6.5_64
複製代碼

初始化成功後,本目錄下會出現Vagrantfile這樣一個文件,這個是vagrant的配置文件,後續的配置在這裏修改

六、先都使用默認的配置,來啓動下:

vagrant up

會顯示一系列啓動信息:

複製代碼
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222//注意這裏
    default: SSH username: vagrant//這裏
    default: SSH auth method: private key
    .......
複製代碼

若是不報錯的話就算是啓動成功了,若是出現錯誤則谷歌或百度,我這邊主要遇到的錯誤爲無限卡在 default: SSH auth method: private key這個地方,很大可能的緣由是本機沒有開啓虛擬化技術,重啓電腦,按f2或其它的鍵進入bios設置,找到virtual相關字樣的開啓便可。

七、遠程鏈接linux,此時windows下能夠用putty或者是xshell來鏈接,host地址如上方標識的注意: 127.0.0.1:2222,用戶名密碼都爲:vagrant

此時,默認的共享文件夾的對於關係是windows下的vagrant_project文件夾對應linux下的/vagrant文件夾,能夠隨便在雙方創建幾個文件測試下是否兩方是同步的

八、關閉等命令,因爲還有好多須要配置,暫時能夠關閉,等配置完成後再啓動

#關閉
vagrant halt
#重啓
vagrant reload

2、網絡配置、共享目錄等相關配置

以上僅僅是展現了安裝和開啓的簡單用法,但真正能用於開發還須要額外的配置,打開上方提到的Vagrantfile配置文件來進行配置,好多都是已註釋掉的,選擇去掉便可

一、網絡配置,vagrant有三種配置方法:官網文檔點這裏查看

  a、端口映射,意思是將虛擬機的端口映射到主機的端口上,主機局域網內能夠經過訪問這個端口來訪問到你虛擬機上的東西

config.vm.forwarded_port 80, 8080

  上述做用是將虛擬機的80端口映射到主機的8080端口上,那我直接訪問主機的8080端口就至關於訪問虛擬機的80端口

  b、私有網絡,只有主機才能訪問虛擬機,主句局域網內成員不能訪問的虛擬機的內容

config.vm.network "private_network", ip: "192.168.33.10"

  上述設置完成後,在本機能夠經過192.168.33.10來訪問虛擬機,須要注意192.168.33.10雖然能夠隨便設定,但若是主機的ip爲192.168.1.xxx字段,那就不要這個再用這個區段,能夠2.xxx或3.xxx或其它,以避免形成衝突。

  c、共有網絡,主機局域網內成員能夠訪問虛擬機中的內容,虛擬機至關於局域網內的一員

config.vm.network "public_network", ip: "192.168.1.120"

  以上配置通常來講開發環境也不須要局域網內成員訪問,因此大部分狀況下是選擇用b、私有網絡來開發,這個可根據實際狀況來選擇。

二、共享目錄,用戶能夠自定義共享目錄,在Vagrantfile配置文件中配置:

#禁用原有的默認的共享目錄
config.vm.synced_folder '.', '/vagrant', disabled: true
#增長新的共享目錄,第二個參數以當前文件夾爲基準
config.vm.synced_folder "abc", "/www/web/abc",

上方至關與windows下的vagrant_project/abc文件夾對應linux下的/www/web/abc文件夾

除了能夠自定義共享文件外,還能夠選擇共享的方式,vagrant有四種共享的方式,官網文檔請點這裏查看

  a、NFS共享方式,windows平臺沒法使用此配置,且用此方式時不能修改文件的全部者和全部組

  b、RSync共享方式,全部平臺均可以使用,但這種方式貌似有個缺點就是主機的改動能夠同步到虛擬機中,但虛擬機中的改動沒法同步到主機中,若是要實現雙向同步可能還需作其它設置,因爲沒有用過,因此不太清楚。

  c、SMB共享方式,只有windows平臺可使用,曾有找一些資料來配置,但一直沒有成功,因此具體的並不太清楚,但貌似效率是挺不錯的。

  d、VirtualBox共享方式,這是VirtualBox提供的也是vagrant默認的共享方式。當文件數量小時用着不錯,當文件數量大的時候打開網頁會卡到超時。

總之以上,若是主機是mac,則推薦用NFS共享方式,若是是windows則推薦用smb或者rsync方式,若是文件不多,那用默認的就能夠了。

但除了上方說的,windows下其實還有方式能夠加快網站訪問速度,那就是用Vagrant WinNFSd這款插件,插件地址點這裏,這種方式是windows下提升速度最簡單的方式了:

vagrant plugin install vagrant-winnfsd

安裝完成後配置type爲nfs,雖然官網上說nfs不能應用於windows,但用這個插件後就能夠了。

config.vm.synced_folder "abc", "/www/web/abc",type:"nfs"

測試了下,此插件仍是很是有效的,原先打開yii2框架的文件會超時,或十、20多秒,但用了這個後響應在2s之內,仍是能夠接受的。另提供一個參考資料:讓Vagrant在Windwos下支持使用NFS/SMB共享文件夾從而解決目錄共享IO緩慢的問題

 3、域名訪問及打包分發

一、域名訪問,主要是虛擬的本地域名配置問題

這裏仍是安裝了lanmp_v3.1,具體的安裝方法能夠看之前的文章:Linux下安裝LANMP環境或者去下載官網上去找安裝說明

新建一個站點,指定目錄到共享的目錄,隨便取個虛擬的域名:www.abc.com

測試須要在主機中修改host,以下:(至於虛擬機中/etc/hosts文件中,測試修改與不修改都不影響訪問)

192.168.33.10    www.abc.com
192.168.33.10    abc.com

而後直接在瀏覽器中用http://www.abc.com既可顯示虛擬機中的內容了。而直接在windows中的的IDE修改文件,會實時經過這個網址展現出來。

二、打包分發

vagrant package

等待一段時間,會發如今目錄生成一個package.box的文件,這個就是已經包含安裝環境的鏡像了,將此鏡像發給同事,讓其安裝上方所屬的步驟加載鏡像vagrant box add {title} {url}命令,而後配置本身的網絡及共享文件夾就能夠直接開發了,遠離從新配置環境的煩惱。

以上就是vagrant經常使用的一些操做,挺不錯的,試試吧!

相關文章
相關標籤/搜索