homestead就是laravel官方打包給我們使用的環(huán)境,homestead 可以運(yùn)行在 windows、mac 以及 linux 等主流操作系統(tǒng)上。laravel homestead 實(shí)際是一個(gè)打包好各種 laravel 開(kāi)發(fā)所需軟件和工具的 vagrant 盒子,該盒子為我們提供了一個(gè)優(yōu)秀的開(kāi)發(fā)環(huán)境,有了它,我們不再需要在本地環(huán)境安裝 php、composer、nginx、mysql、memcached、redis、node 等其它工具軟件,我們也完全不用再擔(dān)心誤操作搞亂操作系統(tǒng) —— 因?yàn)?vagrant 盒子是一次性的,如果出現(xiàn)錯(cuò)誤,可以在數(shù)分鐘內(nèi)銷(xiāo)毀并重新創(chuàng)建該 vagrant 盒子!
本文給大家介紹window下homestead開(kāi)發(fā)環(huán)境安裝詳細(xì)教程
一、資源準(zhǔn)備
鏈接:http://pan.baidu.com/s/1mh7qube 密碼:p4wx
1. virtualbox.box文件放在c盤(pán)根目錄上。
2. metadata.json文件放在c盤(pán)用戶(hù)目錄上。比如我的是 c:\users\pc
3. git-2.9.3-64-bit.exe 下載安裝,全部默認(rèn)就好。
4. vagrant_1.8.5.msi 下載安裝。
5. virtualbox-5.1.4-110228-win.exe 下載安裝。
二、簡(jiǎn)介
1. 什么是vagrant?
virtualbox相信很多人都用過(guò),它是一個(gè)虛擬化軟件,用來(lái)在我們的電腦上虛擬出一電腦來(lái),和 vmware workstation, kvm, xen等是一類(lèi)東西(專(zhuān)業(yè)點(diǎn)的說(shuō)法叫hypervisor),不過(guò)它提供易用的界面(vmware也有),對(duì)各平臺(tái)的支持(linux, win, mac),又非常的輕量,最關(guān)鍵的free呀,所以使用非常廣泛。
我們平時(shí)使用virtualbox最常見(jiàn)的情況就是,自己電腦是個(gè)win,想跑個(gè)linux,或者電腦是個(gè)linux,要跑win上網(wǎng)銀啊,qq什么的 win only之類(lèi)的,雖然有wine這樣的東東,可以在linux下跑win下的軟件,但有個(gè)win系統(tǒng)穩(wěn)定性不更好么,并且現(xiàn)在的電腦配置,完全不用擔(dān)心虛擬機(jī)消耗內(nèi)存cpu什么的,你不用那才是浪費(fèi)呢,何況virtualbox這么輕量。個(gè)人體驗(yàn),弄個(gè)xp虛擬機(jī)跑qq資源消耗比chrome或者ff登webqq要少,可惡的用了多少js。。。
對(duì)天天碼代碼的苦逼程序員來(lái)說(shuō),virtualbox就不能是簡(jiǎn)簡(jiǎn)單單的掛個(gè)q這么用了,程序員搞最多的就是碼代碼了,可能做很多個(gè)項(xiàng)目,公司里搞java的,php的,自己回家再玩?zhèn)€python什么的,想體驗(yàn)下新版本的mongodb或者nginx,emacs或者vim的配置啦,保不準(zhǔn)哪個(gè)項(xiàng)目前個(gè)版本的數(shù)據(jù)庫(kù)是mysql,下個(gè)版本用了postgresql, 這么多東西全都搞在一起,裝在一個(gè)電腦上,肯定會(huì)被這各種配置環(huán)境搞的暈暈的,煩不勝煩。
怎么辦呢,最好是每個(gè)項(xiàng)目都有一個(gè)干凈的開(kāi)發(fā)環(huán)境,只為這個(gè)項(xiàng)目,可是我們不可能為每一個(gè)項(xiàng)目配一個(gè)電腦吧,有了,虛擬機(jī),給每一個(gè)項(xiàng)目配一個(gè)虛擬機(jī),開(kāi)發(fā)a的時(shí)候就啟a的虛擬機(jī),這樣各個(gè)開(kāi)發(fā)環(huán)境互相獨(dú)立,干干凈凈。還有一個(gè)問(wèn)題,我們的項(xiàng)目有多個(gè)開(kāi)發(fā)人員,如何保障大家的開(kāi)發(fā)環(huán)境都一樣呢,總不能每個(gè)人都一個(gè)個(gè)點(diǎn)擊鼠標(biāo),填寫(xiě)配置參數(shù),建好后上支一個(gè)個(gè)軟件安裝吧,這太麻煩了,太不geek了。我們想要的是,環(huán)境只配置一遍,然后可以把這個(gè)環(huán)境打包deliver給別人,別人拿到后,直接啟起來(lái)就可以用。那有沒(méi)有這樣的東西呢,肯定是有的,vagrant,它就是用來(lái)干這個(gè)的。
2.什么是homestead?
homestead就上面灰色標(biāo)注laravel官方打包給我們使用的環(huán)境,也就是資源準(zhǔn)備里的第一個(gè)文件virtualbox.box。它包含以下東西:
ubuntu 16.04
git
php 7.0
nginx
mysql
mariadb
sqlite3
postgres
composer
node (with pm2, bower, grunt, and gulp)
redis
memcached
beanstalkd三、安裝步驟
git bash 下
1. 輸入 vagrant box add metadata.json
2. 輸入 git clone https://github.com/laravel/homestead.git homestead
3. 輸入 bash init.sh
這時(shí)你的用戶(hù)目錄下會(huì)多了一個(gè) .homestead 文件夾,里面有一個(gè) homestead.yaml 文件,這是homestead配置文件,我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)用到的。現(xiàn)在對(duì)這個(gè)文件進(jìn)行編輯
---
#虛擬機(jī)的ip地址
ip: 192.168.10.10
#分配給虛擬的內(nèi)存
memory: 2048
#cpu數(shù)
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
#設(shè)置主機(jī)與虛擬機(jī)的共享文件夾
folders:
#主機(jī)
- map: ~/code/test
#虛擬機(jī)
to: /home/vagrant/code/test
#設(shè)置域名與訪(fǎng)問(wèn)地址
sites:
- map: test.app
to: /home/vagrant/code/test/public
#數(shù)據(jù)庫(kù)
databases:
- homestead
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp編輯完后,在用戶(hù)目錄下創(chuàng)建code文件夾,這個(gè)文件夾里面創(chuàng)建一個(gè)test文件夾。接著進(jìn)行虛擬機(jī)ip地址與域名綁定。編輯文件c:\windows\system32\drivers\etc 下的hosts 增加一行:192.168.10.10 test.app 。(可能要修改文件權(quán)限才能增加)
4.輸入 ssh-keygen
顯示:enter file in which to save the key (/c/users/pc/.ssh/id_rsa):
不管它直接 回車(chē), 接著會(huì)讓你輸入密碼,也是直接回車(chē)。
5.輸入 vagrant up
6.輸入 vagrant ssh
這時(shí),你已經(jīng)進(jìn)入到虛擬機(jī)中了, 新建一個(gè)code文件夾,進(jìn)去code再新建一個(gè)test文件夾。
ok,homestead開(kāi)發(fā)環(huán)境已經(jīng)搭配好了
輸入 exit 退出虛擬機(jī) 輸入 vagrant halt 關(guān)閉虛擬機(jī) 輸入 vagrant 查看常用命令