Laravel Homestead 是一个官方预封装的 Vagrant Box,它为你提供了一个完美的开发环境,你无需在本地安装 PHP 、web 服务器或任何服务软件。 也就是说,安装好 Laravel Homestead 这个 box 后,你不必在手动搭建 LNMP 环境,直接可以上手写代码啦!
虽然这个 box 是专门给 Laravel 框架使用的,但是我们依然可以搭建任何框架的运行环境,如果你是初学者,装好这个再合适不过了,因为你不再需要装任何 PHP 扩展,缓存等一系列服务。
安装 Homestead Box
当安装完 VirtualBox/VMware 以及 Vagrant 后,你可以在终端使用下面的命令将 laravel/homestead Box 添加到 Vagrant 中安装:
vagrant box add laravel/homesteadbash
如果上面的命令下载速度非常慢,你可以参考上面装 centos/7 所说的本地安装方法安装。
安装 Homestead
你可以简单使用 Git 克隆代码库来安装 Homestead,挑一个你喜欢的目录,在这里克隆 Homestead 代码:
git clone https://github.com/laravel/homestead.git Homesteadbash
这样 clone 出来的 master 分支的代码不是很稳定,所以我们一般都会切到打过标签的稳定版本,你可以 在这里 查看目前发布的最新版本是什么,我们以 v7.0.1 为例:
cd Homestead
// Clone the desired release...
git checkout v7.0.1bash
克隆 Homestead 代码库后,从 Homestead 目录中运行 bash init.sh(Mac / Linux 系统) init.bat(Windows 系统) 命令来创建 Homesstead.yaml 配置文件。 Homesstead.yaml 文件会被放置在你的 Homestead 目录中:
// Mac / Linux...
bash init.sh
// Windows...
init.batbash
配置 Homestead
Homestead 的配置文件就在安装目录下的 Homestead.yaml, 打开看看,是不是比直接看 Vagrantfile简单多?下面我就来简单介绍下 Homestead 的配置:
配置提供器
由于我们使用的是 VirtualBox 来提供虚拟机服务,所以在配置文件的 provider 中切换为 virtualbox,当然你如果安装了其他的虚拟机服务软件,可以在 vmware_fusion、 vmware_workstation 和 parallels 之间选择。
provider: virtualboxbash
配置共享文件夹
Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹:
folders:
- map: ~/Code
to: /home/vagrant/Codebash
配置 Nginx 站点
对 Nginx 不熟悉吗?没关系。 sites 属性可以帮助你可以轻松地将 域名 映射到 homestead 环境中的文件夹。 Homestead.yaml 文件中已包含示例站点配置。同样的,你也可以增加多个站点到你的 Homestead 环境中。 Homestead 可以同时为多个 PHP 应用提供虚拟化环境:
sites:
- map: master.app
to: /home/vagrant/Code/master/public
- map: test.app
to: /home/vagrant/Code/testbash
如果你在配置 Homestead Box 之后更改了 sites 属性,那么应该重新运行 vagrant reload --provision 来更新虚拟机上的 Nginx 配置。
将域名指向虚拟机
你必须将在 Nginx 站点中所添加的「域名」也添加到你机器的 hosts 上。 hosts 文件会将 Homestead 站点的请求重定向到 Homestead Box 中。在 Mac 或 Linux 上,该文件位于 /etc/hosts。在 Windows 上,它位于 C:\Windows\System32\drivers\etc\hosts。添加的内容如下所示:
192.168.10.10 master.app
192.168.10.10 test.appbash
这里的 IP 就是你在 Homestead.yaml 文件中配置的 IP 地址。配置完成后启动虚拟机,就可以通过 master.app 来访问你的虚拟机了!
登录虚拟机
当虚拟机一切就绪后,我们就可以使用 vagrant ssh 进入虚拟机环境中了,他会自动帮我们使用 public key 以 vagrant 身份登入。
端口
默认情况下,以下端口会被转发至 Homestead 环境:
| 命令 | 作用 |
|---|---|
| SSH: 2222 | 发送到 22 |
| HTTP: 8000 | 发送到 80 |
| HTTPS: 44300 | 发送到 443 |
| MySQL: 33060 | 发送到 3306 |
| Postgres: 54320 | 发送到 5432 |
| Mailhog: 8025 | 发送到 8025 |
多个 PHP 版本
从 Homestead 6 开始,开始支持在同一个虚拟机上引入多个版本的 PHP。你可以在 Homestead.yaml 文件中为给定站点指定使用哪个版本的 PHP。 可用的 PHP 版本有:「5.6」、「7.0」、「7.1」
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
php: "5.6"bash
此外,你还可以通过 CLI 使用任何受支持的 PHP 版本:
$ php5.6 -v
$ php7.0 -v
$ php7.1 -vbash
以上就是 Homestead 的全部安装过程和配置方法啦,感觉对您有用的话,就在下面为我点个赞吧~