前言
之前写过一篇文章(https://www.jianshu.com/p/5f30280a3c18),说不需要这玩意儿一样可以开发。是的,但是对于团队来说,使用统一的环境、开发工具、编码规范等,对于大型项目的维护、效率等有着莫大的作用。所以,homestead不可不学。
Homestead是什么
Laravel Homestead 是一个官方预封装的 Vagrant Box,它为你提供了一个完美的开发环境,你无需在本地安装 PHP 、web 服务器或任何服务软件。 Vagrant Box 是完全一次性的,不用担心会搞乱你的操作系统!如果有什么地方出错了,你可以在几分钟内销毁并重建该 Box !
安装参考:https://d.laravel-china.org/docs/5.5/homestead#configuring-homestead
使用
文件夹同步设置
Homestead.yaml 文件的 folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹
站点配置
切换到 /Users/userName/.homestead
文件内容注意,ip地址指的是给虚拟机指定的ip,这个默认就可以了。不要改动。要注意的是,以后没添加一个域名,就要在host文件中填下类似如下映射 .
baidu.test 192.168.10.10
provider: virtualbox ,这里虚拟机也可以改为别的。
接下来看下站点,如下,你可以配置多个的
sites:
- map: www.myblog.io
to: /home/vagrant/Code/open/myblog/public
- map: www.mylaravelblog.app
to: /home/vagrant/Code/mywork/blogTutorial/public
- map: news.xx-china.org
to : /home/vagrant/Code/open/news.xx-china.org/public
数据库
databases:
- homestead
- testblog
数据库也可以配置多个,这里只是新建数据库的名字,真正的数据表在程序里面指定。
来一个例子
这里假设我们要添加一个invate.test 的网站
添加host文件
创建project
切换到~/Code目录
使用
composer create-project --prefer-dist laravel/laravel invate
或者
composer create-project laravel/laravel invate --prefer-dist "5.5.*"
启动虚拟机
vagrant up
访问站点
常见 homestead 命令
homestead up 启动
homestead destroy --force 销毁
homestead reload --provision 修改了站点配置,刷新重新加载
homestead box update 更新虚拟机
homestead halt 不销毁,停止
homestead 可以换成vagrant