欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【PHP】Laravel开发——一、开发环境搭建

程序员文章站 2022-05-31 17:34:03
...

开发环境搭建-MacOS

步骤简略

  1. 安装 VirtualBox
  2. 安装 Vagrant
  3. 导入Homestead Box 虚拟机盒子
  4. 安装 Git
  5. 安装 Homestead 管理脚本
  6. 配置 Homestead.yaml 文件
  7. 启动 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

接下来,我们要

  1. 下载和导入 Homestead Box 虚拟机盒子;
  2. 安装 Git ,为下载 Homestead 管理脚本做准备;
  3. 使用 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 里的配置大致可以分为以下几种:

  1. 虚拟机设置;
  2. SSH 秘钥登录配置;
  3. 共享文件夹配置;
  4. 站点配置;
  5. 数据库配置;
  6. 自定义变量;

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
相关标签: PHP Laravel