vagrant是簡單虛擬機器操作的軟體,而使用虛擬機器有幾個好處:
1、為了開發環境與生產環境一致(許多開發環境為windows而生產環境為linux),不至於出現在開發環境正常而移步到正式生產環境時出現各種問題,而vagrant透過共享文件,可以實現在主機(windows)下的IDE編寫程式碼操作,直接在虛擬機器(linux)中運行展示出效果。
2、在vagrant中只需要搭配一次開發環境,然後就可以將搭配好的環境系統鏡像打包發送給其他的同事用了,其他同事只需要下載vagrant和virtualBox,然後配置下共享目錄後就可以開發了,再也不需要關心配置環境的問題了。
3、目前好多擴充如swoole、redis等對linux支援更好,甚至有些只支援linux,所以採用虛擬機,再也不需要為學習新技術找藉口了。
相關環境機軟體版本:主機:win7;虛擬機器:CentOS 6.5 x86_64;vagrant:1.9.5;virtualBox:5.2
#一、安裝步驟如下:
1、下載virtualBox,位址點這裡,安裝
#2、下載vagrant,位址點這裡,安裝
3、下載鏡像,有幾個地方可以下載:http://www.vagrantbox.es/和都可以,這裡我隨便找了個centos65-x86_64-20140116
4、將下載的鏡像加載,順便說下,第3步驟可以不用,vagrant支援線上安裝鏡像,但由於長城的原因,所以最好透過其它方法將鏡像下載下來,再在本地加載,,打開cmd,輸入以下命令:
# 命令是这样的,title为自己起的名字,url为box地址,可以在线也可以本地 # vagrant box add {title} {url} # 实际安装命令,本地下载下来的 vagrant box add CentOs6.5_64 E:\boxes\centos65-x86_64-20140116.box
5、找一個/新建一個目錄,例如vagrant_project,然後初始化環境
#新建目录 mkdir vagrant_project #打开此目录 cd vagrant_project #初始化,CentOs6.5_64为你上方设置的title vagrant init CentOs6.5_64
初始化成功後,本目錄下會出現Vagrantfile
這樣一個文件,這個是vagrant的配置文件,後續的配置在這裡修改
6、先都使用預設的配置,來啟動下:
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相關字樣的開啟即可。
7、遠端連接linux,此時windows下可以用putty或是xshell來連接,host位址如上方標識的注意: 127.0.0.1:2222 ,使用者名稱密碼都為:vagrant
#此時,預設的共享資料夾的對於關係是windows下的vagrant_project資料夾對應linux下的/vagrant資料夾,可以隨便在雙方建立幾個檔案測試下是否兩方是同步的
8、關閉等命令,由於還有好多需要配置,暫時可以關閉,等配置完成後再啟動
#关闭 vagrant halt #重启 vagrant reload
二、網路配置、共享目錄等相關配置
以上僅展示了安裝和開啟的簡單用法,但真正能用於開發還需要額外的配置,打開上方提到的Vagrantfile配置文件來進行配置,好多都是已註釋掉的,選擇去掉即可
1.網路配置,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、私有网络来开发,这个可根据实际情况来选择。
2、共享目录,用户可以自定义共享目录,在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框架的文件会超时,或10、20多秒,但用了这个后响应在2s以内,还是可以接受的。另提供一个参考资料:让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题
三、域名访问及打包分发
1、域名访问,主要是虚拟的本地域名配置问题
这里还是安装了lanmp_v3.1,具体的安装方法可以看以前的文章:Linux下安装LANMP环境或者去下载官网上去找安装说明
新建一个站点,指定目录到共享的目录,随便取个虚拟的域名:www.abc.com
测试需要在主机中修改host,如下:(至于虚拟机中/etc/hosts文件中,测试修改与不修改都不影响访问)
192.168.33.10 www.abc.com192.168.33.10 abc.com
然后直接在浏览器中用既可显示虚拟机中的内容了。而直接在windows中的的IDE修改文件,会实时通过这个网址展示出来。
2、打包分发
vagrant package
等待一段时间,会发现在目录生成一个package.box的文件,这个就是已经包含安装环境的镜像了,将此镜像发给同事,让其安装上方所属的步骤加载镜像vagrant box add {title} {url}命令,然后配置自己的网络及共享文件夹就可以直接开发了,远离重新配置环境的烦恼。
以上就是vagrant常用的一些操作,挺不错的,试试吧!
以上是windows下vagrant是怎麼安裝的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!