homestead

前言

之前写过一篇文章(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 环境之间同步。你可以根据需要配置多个共享文件夹

意思是我们本地的 文件夹:~/Code 会映射到 虚拟机的 /home/vagrant/Code,以后本地的文件夹中的改动都会同步到虚拟机。

站点配置

切换到 /Users/userName/.homestead

 对,打开Homestead.yaml
 
 
 
 
 
 
 
 
 
 
 

文件内容注意,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

转载:https://www.jianshu.com/p/61554e721963

原文地址:https://www.cnblogs.com/chenyangqit/p/11696672.html