【PHP】Laravel开发——一、开发环境搭建
开发环境搭建-MacOS
步骤简略
- 安装 VirtualBox
- 安装 Vagrant
- 导入Homestead Box 虚拟机盒子
- 安装 Git
- 安装 Homestead 管理脚本
- 配置
Homestead.yaml
文件 - 启动 Homestead 虚拟机
安装 VirtualBox
VirtualBox是开源虚拟软件。进入VirtualBox官网下载即可。
安装 Vagrant
Vagrant是管理虚拟机工具。支持VirtualBox、VMware、AWS 等主流虚拟机系统。主要作用是提供可配置、可移植和复用的软件环境。多人环境中,同步Vagrantfile文件,即可保证环境统一。
Homestead 介绍
Homestead利用Vagrant,定制了一整套的可配置、可移植和复用的 Laravel
开发环境。Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时需要用到的各种软件。
Homestead 包含了两个东西:
- Homestead 管理脚本;
- Homestead Box 虚拟机盒子。
1. Homestead 管理脚本
Homestead用Ruby和Shell编写。原理是对Vagrantfile定制。将从 ~/Homestead/Homestead.yaml
读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。简化操作。以下是常用任务。
- IP配置、端口映射;
- Nginx Site 创建;
- 数据库创建;
- 主机文件夹挂载到虚拟机等任务。
2. Homestead Box 虚拟机盒子
homestead.box
是提前打包好的Vagrant Box 虚拟机盒子。预装Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时所需要用到的各种软件。
安装和使用 Homestead
接下来,我们要
- 下载和导入 Homestead Box 虚拟机盒子;
- 安装 Git ,为下载 Homestead 管理脚本做准备;
- 使用 Git 下载 Homestead 管理脚本;
以上步骤完成后,进入下载Homestead的文件夹。使用 Git 检出我们需要的 Homestead 版本:
> cd ~/Homestead
> git checkout v7.8.0
再初始化 Homestead:
> bash init.sh
运行以上命令后,会在 ~/Homestead
目录下生成以下三个文件:
- Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;
- after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;
- aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的
~/.bash_aliases
文件中,aliases
里可以放一些快捷命令的定义。
接下来我们将会对 Homestead.yaml
文件的各项配置信息进行详细讲解。
Homestead.yaml 配置文件
通过下面命令打开文件
> subl ~/Homestead/Homestead.yaml
为了行文方便,后面如果没有提示的话,
Homestead.yaml
指的是~/Homestead/Homestead.yaml
文件。
Homestead.yaml
里的配置大致可以分为以下几种:
- 虚拟机设置;
- SSH 秘钥登录配置;
- 共享文件夹配置;
- 站点配置;
- 数据库配置;
- 自定义变量;
1. 虚拟机设置
Homestead支持我们队虚拟机的IP、内存、CPU,虚拟机默认提供者配置。
2. SSH 秘钥登录配置
3. 共享文件夹配置
我们通过folders
指明本机映射到Homestead虚拟机的文件夹。
-
map
对应的是我们本机的文件夹 -
to
对应的是 Homestead 上的文件夹。
4. 站点配置
站点配置允许你在主机里,通过域名访问虚拟机的Laravel应用。如下面 sites
配置所示,将 homestead.test
映射到一个 Laravel 项目的 public
目录上。
sites:
- map: homestead.test
to: /home/vagrant/Code/Laravel/public
如果主机直接访问虚拟机站点,必须通过绑定Hosts实现。下面我们用hosts绑定 homestead.test
到虚拟机 IP 192.168.10.10
上。hosts
文件的完整路径为 /etc/hosts
,可使用下面命令打开:
> subl /etc/hosts
在 hosts
文件的最后面加入以下一行:
192.168.10.10 homestead.test
5. 数据库配置
我们可以为 Homestead 指定数据库名称,这里使用默认设置即可。
databases:
- homestead
6. 自定义变量
自定义变量可在variables
中进行定义。
variables:
- key: APP_ENV
value: local
运行 Vagrant
完成上述配置,即可启动虚拟机
命令行中输入Vagrant,即可查看常用命令行。
命令行 | 说明 |
---|---|
vagrant init | 初始化 vagrant |
vagrant up | 启动 vagrant |
vagrant halt | 关闭 vagrant |
vagrant ssh | 通过 SSH 登录 vagrant(需要先启动 vagrant) |
vagrant provision | 重新应用更改 vagrant 配置 |
vagrant destroy | 删除 vagrant |
下面进入 Homestead文件夹,启动
> cd ~/Homestead
> vagrant up
第一次启动时,Vagrant 会做以下这几件事情:
- 以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;
- 并按照
Homestead.yaml
里的配置信息,对这台新建的虚拟机进行配置; - 配置完成后启动虚拟机。
成功启动后,在 Homestead 文件夹,使用 SSH 登录 Homestead 虚拟机中:
> vagrant ssh
在我们登录成功后,即可看到如下界面,现在我们在该终端界面中输入的所有命令都将运行在 Homestead 虚拟机上。
[email protected]:~$
在虚拟机界面下可以输入退出虚拟机:
$ exit
最后尝试关闭 Homestead:
> vagrant halt