一.为何要用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