开发 Laravel 应用,也可以使用 WAMP、XAMPP、PHPStudy 等集成环境,但对于一个优秀的开发者, 应毫不犹豫地选择 Homestead 作为 Laravel 应用的开发环境。
强烈推荐使用 Homestead 作为 Laravel 5.5 的 开发环境。
你需要明白的四个主要概念:
- VirtualBox:是 Oracle 公司的虚拟机软件。
- Vagrant: 是一个基于Ruby的虚拟机管理工具,用于创建和部署虚拟化开发环境。它提供了一种命令行接口,允许自动化安装虚拟机, Vagrantfile 文件给共享虚拟机配置提供了可能。 Homestead 正是构建在 Vagrant 之上。
- Laravel Homestead: 是官方预封装的一个 Homestead Vagrant Box,它是一台虚拟机的原型, 用来快速生产一个配置完整的服务器虚拟机,运行在 VirtualBox 上。
- Homestead 管理脚本: 是 homestead 源码,它的源码托管在 github 上。里面的 Homestead.yaml 配置文件,可对 Vagrant 中的虚拟机进行傻瓜式配置。
接下来让我们按照下面的步骤来完成整个 Laravel 开发环境的安装及配置:
- 安装 VirtualBox
- 安装 Vagrant
- 导入 Homestead Box 虚拟机盒子
- 安装 Git
- 安装 Homestead 管理脚本
- 配置 Homestead.yaml 文件
- 启动 Homestead 虚拟机
注意:必须开启本机的硬件虚拟化(VT-x),可以进入 BIOS 来设置。否则,虚拟机可能无法运行。
安装 VirtualBox
VirtualBox 号称是最强的免费虚拟机软件。
点击此处,下载 VirtualBox 5.2.6 版本。
下载完成之后,双击安装包执行安装,按照提示进行安装即可。
【 说明:如果安装出错,请到官网下载与操作系统对应的安装包。】
安装 Vagrant
Vagrant 是用来管理虚拟机的工具,支持当前主流的虚拟机系统如 VirtualBox、VMware、AWS 等。
Vagrant 的主要作用是提供一个可配置、可移植和复用的软件环境。
Vagrant 可以通过编写一个 Vagrantfile 文件来控制虚拟机的启动、虚拟机网络环境的配置、虚拟机与主机间的文件共享,以及启动后自动执行一些配置脚本,如自动执行一个 Shell Script 来安装一些必备的开发工具,如安装配置MySQL、PHP,甚至是自动配置 Nginx 站点。
这意味着,在一个多人开发的项目中,你只需要同步 Vagrantfile 文件,就可以保证参与项目的每个人各自的机器上拥有一致的开发环境。
点击此处,下载 Vagrant 2.0.2 版本。
然后,按照提示默认安装即可。
Homestead 介绍
Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移植和复用的 Laravel 开发环境。Homestead 虚拟机里面包含了 Nginx 服务器、PHP 7.0、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时需要用到的各种软件。
Homestead 包含了两个东西:
- Homestead 管理脚本(其实,就是 Homestead 本身)
- Homestead Box 虚拟机盒子(Homestead Vagrant Box)
Homestead 管理脚本
Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile 文件做定制。将从 ~/Homestead/Homestead.yaml 读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。
Homestead 脚本的作用在于,提供了极其简单易用的接口,使我们只需要通过傻瓜化配置,即可完成复杂的任务。以下是几个常用的任务:
- IP 配置,端口映射
- Nginx Site 创建
- 数据库创建
- 主机文件夹挂载到虚拟机
所有 Homestead 的版本历史在 此处 可以找到。在这里,为了提高操作的效率,我们将会使用定制版本的 Homestead。
Homestead Box 虚拟机盒子
homestead.box 虚拟机盒子是提前打包好的 Vagrant Box 虚拟机盒子,里面预装了 Nginx Web 服务器、PHP 7.0、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时所需要用到的各种软件。
Homestead Box 虚拟机盒子也有很多版本。不过,如 Homestead 脚本,为了学习的流畅性,我们将会使用定制版本的虚拟机盒子,你不需要太担心版本的事情。
安装和使用 Homestead
1. 下载和导入 Homestead Box 虚拟机盒子
由于国内的网络环境原因,特意为大家定制了适用于国情的 Homestead 安装包,该安装包提供了以下内容: