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