Homestead 是一个可以在本地快速部署一个 Laravel 项目的虚拟机盒子,它基于 ubuntu 的基础上,内置了 php-fpm, nginx, mysql 等等的服务,事实上可以有很多个本地php的开发部署方案,比如 phpstudy, docker 等,但是用虚拟机部署,更接近生产环境,可以使我们平时开发时对虚拟机的操作,如果有必要可以以同样的方式同步到生产环境中,大部分 Linux 的操作大同小异。
虽然 Homestead 对外的官方搭档是 Laravel 项目,但是其实项目中内置了很多其他 php 框架对应的 nginx 配置,只需要修改一点配置文件,就可以使用 proxy 模式,或者生成适配 thinkphp, yii 等框架的配置,虚拟机中还部署了多个版本的 php,简单的指令就可以让你轻松切换 php 版本,所以该虚拟机盒子作为开发环境还是挺高效方便。
开始
软件
拉取 Homestead 脚本
以下指令使用 git bash 操作
1 | git clone https://github.com/laravel/homestead.git ~/Homestead |
Laravel/Homestaed 文件讲解
主要的核心文件是 Homestead.yaml,下面描述各个部分的配置块作用
Homestead.yaml
1 |
|
部署项目
比如我们需要新增一个 Laravel 开发的站点 laravel.test,我们需要修改 Homestead.yaml 中的内容
1 | sites: |
修改完以后执行以下命令
1 | cd ~/Homestead |
本地修改 host 即可
1 | 192.168.56.56 laravel.test |
如果我们的项目是其他框架开发的,我们可以在 Homestead/scripts/site-types 中找到可用的类型,比如 thinkphp
1 | sites: |
更多详细用法可阅读 官方文档
其他
vagrant scp 插件,将本地文件传输到虚拟机
1 | vagrant plugin install vagrant-scp |