一.爲何要用Homestead?linux
Homestead 是 Laravel 官方推薦的開發環境。爲何要用Homestead,緣由主要有如下:git
二.相關軟件介紹sql
VirtualBox: 免費虛擬軟件,功能強大,性能優異,支持大部分主流系統mac,linux,windowsshell
Vagrant: 管理虛擬幾的工具,支持當前主流的虛擬機系統如VirtualBox,VMware,AWS數據庫
做用:
1)提供一個可配置,可移植,複用的軟件環境。
2)經過編寫一個vagratfile文件來控制虛擬機的啓動,網絡環境配置,虛擬機與主機之間的文件共享。
3)啓動後自動執行一個shell Script來安裝必須的開發工具,如安裝Mysql,PHP,甚至是自動配置Nginx的站點,適合多人協做開發。json
Homestead:利用Vagrant提供的便利,定製了一可配置,可移植,可複用的Laravel開發環境。windows
1) Homestead虛擬機包含了Nginx Web服務器,PHP,Mysql,Postgres,Memcached,Node,各類軟件。
2) Homestead包含了兩個東西:Homestead Box 虛擬機盒子,Homestead 管理腳本
3) Homestead提供了極其簡單易用的接口,使咱們只須要傻瓜式的配置,便可完成複雜的任務,如下是經常使用的任務:bash
二.開始搭建
1.安裝VirtualBox,Vagrant,git
服務器
VirtualBox 版本 5.2.12網絡
Vagrant 版本 2.1.1
2.安裝Homestead Box
解壓lc-homstead-6.1.1-2018090400運行如下命令導入:
> vagrant box add metadata.json
注意:導入成功後 lc-homestead-6.1.1-2018090400文件夾可刪除
3.安裝管理腳本
在安裝管理腳本以前先安裝git
檢測是否安裝成功:cmd 執行 git --version
git下載並配置Homestead.yaml管理腳本
>>cd ~ >>git clone https://git.coding.net/summerblue/homestead.git Homestead
使用git檢出咱們須要的Homestead版本
>>cd ~Homestead >>git checkout v7.8.0 >>bash init.sh 初始化操做 >>subl ~/Homestead/Homestead.yaml(前提配置好sublime)
Homestead.yaml主要配置內容:
1 --- 2 ip: "192.168.10.10" 3 memory: 4096 4 cpus: 2 5 provider: virtualbox 6 7 authorize: ~/.ssh/id_rsa.pub 8 9 keys: 10 - ~/.ssh/id_rsa 11 - ~/.ssh/id_rsa.pub 12 13 folders: 14 - map: ~/code 15 to: /home/vagrant/code 16 17 sites: 18 - map: homestead.test 19 to: /home/vagrant/code/Laravel/public 20 21 databases: 22 - homestead 23 24 variables: 25 - key: APP_ENV 26 value: local 27 # blackfire: 28 # - id: foo 29 # token: bar 30 # client-id: foo 31 # client-token: bar 32 33 # ports: 34 # - send: 50000 35 # to: 5000 36 # - send: 7777 37 # to: 777 38 # protocol: udp
4.啓動Homestead虛擬機
vagrant init 初始化vagrant vagrant up 啓動vagreant vagrant halt 關閉vagrant vagrant ssh 經過ssh登陸vagrant(須要先啓動vagrnat) vagrant provision 從新應用更改vagrant配置 vagrant destroy 刪除vagrant
四:所需軟件
雲盤連接:
連接:https://pan.baidu.com/s/1sAMqnfY5EHr4s0SLcSiQ_w
提取碼:ivj9
複製這段內容後打開百度網盤手機App,操做更方便哦
Virtrual Box: 5.2.12 & 6.0.2 Vagrant: 2.1.1 & 2.2.3, Homestead: 6.1.1,& 7.0.0 git:2.8.0