了解Laravel中的Homestead yaml文件

时间:2015-03-19 11:43:16

标签: laravel vagrant yaml virtualbox homestead

有人可以详细解释Homestead.yaml文件。没有完全理解它的内容困扰着我。

以下是完整的Homestead yaml文件:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

以下是我对其内容的理解,如果我错了,请纠正我,当然还要添加评论。

  

授权: 〜/ .ssh / id_rsa.pub
  本地计算机中的目录   您存储公共.ssh文件。此文件夹可以是您的任何文件夹   本地机器,对吗?

     

键: - 〜/ .ssh / id_rsa
  本地计算机中用于存储本地.ssh文件的目录。此文件夹可以是您本地的任何文件夹   机器,对吧?

     

文件夹:
       - map:〜/ Code
        to: / home / vagrant / Code

     
      
  • -map:   本地计算机中用于存储所有项目的目录。此文件夹可以是本地计算机中的任何文件夹,对吗?

  •   
  • 于:   我相信这是你的项目将存储在   虚拟机,如果这是正确的,最后一个文件夹需要   匹配本地结构中的最后一个文件夹?

  •   
     

站点
       - 地图:homestead.app
        to: / home / vagrant / Code / Laravel / public

     
      
  • -map:我相信这是您将用于访问您网站的网址或域名,只要您将其添加到网站,它就可以是您想要的任何内容   你的localhost文件,对吗?

  •   
  • to:我不确定这是什么......

  •   
     

数据库:
       - 宅基地   一个名为宅基地的数据库将自动创建,对吗?

由于

4 个答案:

答案 0 :(得分:5)

授权:〜/ .ssh / id_rsa.pub 本地计算机中用于存储公共.ssh文件的目录。此文件夹可以是本地计算机中的任何文件夹,对吗?是

键: - 〜/ .ssh / id_rsa 本地计算机中用于存储本地.ssh文件的目录。此文件夹可以是本地计算机中的任何文件夹,对吗?是

Homestead.yaml使用了很多默认值,这种方式在创建一个新的.ssh键时你不需要触摸任何东西

文件夹: - 地图:〜/代码 to:/ home / vagrant / Code

-map:本地计算机中用于存储所有项目的目录。此文件夹可以是本地计算机中的任何文件夹,对吗?是 to:我相信这是你的项目将存储在虚拟机中的位置,如果这是正确的,最后一个文件夹是否需要匹配本地结构中的最后一个文件夹? 没有必要,您只需在虚拟机中指定一个路径,它将填充-map:文件夹中的所有文件

站点: - 地图:homestead.app to:/ home / vagrant / Code / Laravel / public

-map:我相信这是您将用于访问您网站的网址或域名,只要您将其添加到您的localhost文件中,它就可以是您想要的任何内容,对吗? to:我不确定这是什么......

这两行是配置类似虚拟主机的东西,我不确定它在内部是如何工作的,但基本上你将一个文件夹(到)映射到一个域(地图),这将创建一个新的虚拟主机,这样你就可以通过在本地计算机浏览器中键入:homestead.app来访问您的网站。请记住,您需要编辑主机文件,/ etc / hosts或/ windows / system32 / drivers / etc / hosts并添加一个新行,如:

192.168.10.10 homestead.app

数据库: - 宅基地 不确定这个,我会看看它,但在我看来你是对的,只需定义一个新名称,omestead将为你创建数据库。

希望这有帮助

答案 1 :(得分:3)

  

数据库:    - 宅基地   一个名为homestead的数据库将自动创建,对吗?

是。 如果要创建更多数据库,只需在- homestead下添加数据库名称,然后运行命令homestead provision,就会看到数据库已创建。

注意该条款有害,因为它会重置数据库,并且数据库中的数据将与表格一样被删除。

答案 2 :(得分:2)

您还可以向options元素中的map/to元素添加folder元素,如下例所示,并指定一系列选项{{3 }}

- map: ~/Workspace/my/mapped/directory
  to: /home/vagrant/my/directory
  options: 
      owner: "www-data"
      group: "www-data"
      mount_options: ["dmode=0770,fmode=774"]

答案 3 :(得分:1)

虽然我迟到了,但我最近安装了Homestead和Homestead.YAML很难理解,因为官方文档缺乏。偶然发现了一篇非常好的文章,但它太长了,无法复制到这里,所以我只提供一个链接,希望它可以帮助新手。

https://abbasharoon.me/homestead-yaml-explained-a-z/