一、資源準備 鏈接: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 下 ...
一、資源準備
鏈接: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等是一類東西(專業點的說法叫Hypervisor),不過它提供易用的界面(VMware也有),對各平臺的支持(Linux, Win, Mac),又非常的輕量,最關鍵的free呀,所以使用非常廣泛。
我們平時使用VirtualBox最常見的情況就是,自己電腦是個Win,想跑個Linux,或者電腦是個Linux,要跑win上網銀啊,QQ什麼的 win only之類的,雖然有wine這樣的東東,可以在Linux下跑win下的軟體,但有個win系統穩定性不更好麽,並且現在的電腦配置,完全不用擔心虛擬機消耗記憶體CPU什麼的,你不用那才是浪費呢,何況VirtualBox這麼輕量。個人體驗,弄個xp虛擬機跑QQ資源消耗比chrome或者ff登webQQ要少,可惡的用了多少js。。。
對天天碼代碼的苦逼程式員來說,VirtualBox就不能是簡簡單單的掛個Q這麼用了,程式員搞最多的就是碼代碼了,可能做很多個項目,公司里搞java的,php的,自己回家再玩個python什麼的,想體驗下新版本的mongodb或者nginx,Emacs或者vim的配置啦,保不准哪個項目前個版本的資料庫是mysql,下個版本用了postgresql, 這麼多東西全都搞在一起,裝在一個電腦上,肯定會被這各種配置環境搞的暈暈的,煩不勝煩。
怎麼辦呢,最好是每個項目都有一個乾凈的開發環境,只為這個項目,可是我們不可能為每一個項目配一個電腦吧,有了,虛擬機,給每一個項目配一個虛擬機,開發A的時候就啟A的虛擬機,這樣各個開發環境互相獨立,乾乾凈凈。還有一個問題,我們的項目有多個開發人員,如何保障大家的開發環境都一樣呢,總不能每個人都一個個點擊滑鼠,填寫配置參數,建好後上支一個個軟體安裝吧,這太麻煩了,太不geek了。我們想要的是,環境只配置一遍,然後可以把這個環境打包deliver給別人,別人拿到後,直接啟起來就可以用。那有沒有這樣的東西呢,肯定是有的,Vagrant,它就是用來乾這個的。
2.什麼是homestead?
homestead就上面紅色標註laravel官方打包給我們使用的環境,也就是資源準備里的第一個文件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配置文件,我們日常開發中經常會用到的。現在對這個文件進行編輯
1 --- 2 #虛擬機的ip地址 3 ip: "192.168.10.10" 4 #分配給虛擬的記憶體 5 memory: 2048 6 #cpu數 7 cpus: 2 8 provider: virtualbox 9 10 authorize: ~/.ssh/id_rsa.pub 11 12 keys: 13 - ~/.ssh/id_rsa 14 15 #設置主機與虛擬機的共用文件夾 16 folders: 17 #主機 18 - map: ~/Code/test 19 #虛擬機 20 to: /home/vagrant/Code/test 21 #設置功能變數名稱與訪問地址 22 sites: 23 - map: test.app 24 to: /home/vagrant/Code/test/public 25 #資料庫 26 databases: 27 - homestead 28 29 # blackfire: 30 # - id: foo 31 # token: bar 32 # client-id: foo 33 # client-token: bar 34 35 # ports: 36 # - send: 50000 37 # to: 5000 38 # - send: 7777 39 # to: 777 40 # protocol: udp
編輯完後,在用戶目錄下創建Code文件夾,這個文件夾裡面創建一個test文件夾。接著進行虛擬機ip地址與功能變數名稱綁定。編輯文件C:\Windows\System32\drivers\etc 下的hosts 增加一行:192.168.10.10 test.app 。(可能要修改文件許可權才能增加)
4.輸入 ssh-keygen
顯示:Enter file in which to save the key (/c/Users/pc/.ssh/id_rsa):
不管它直接 回車, 接著會讓你輸入密碼,也是直接回車。
5.輸入 vagrant up
6.輸入 vagrant ssh
這時,你已經進入到虛擬機中了, 新建一個Code文件夾,進去Code再新建一個test文件夾。
ok,homestead開發環境已經搭配好了
輸入 exit 退出虛擬機 輸入 vagrant halt 關閉虛擬機 輸入 vagrant 查看常用命令
是是