11

有人可以详细解释 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 文件的目录。这个文件夹可以是你本地机器上的任何文件夹,对吧?

文件夹:
- 映射:~/Code
到:/home/vagrant/Code

  • -map:本地计算机中存储所有项目的目录。这个文件夹可以是你本地机器上的任何文件夹,对吧?

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

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

  • -map:我相信这是您将用于访问您的站点的 url 或域,只要您将其添加到 localhost 文件中,它就可以是您想要的任何东西,对吗?

  • to:我不知道这是什么...

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

谢谢

4

4 回答 4

8

授权:~/.ssh/id_rsa.pub 本地计算机中存储公共 .ssh 文件的目录。这个文件夹可以是你本地机器上的任何文件夹,对吧?是的

键: - ~/.ssh/id_rsa 本地计算机中存储本地 .ssh 文件的目录。这个文件夹可以是你本地机器上的任何文件夹,对吧?是的

Homestead.yaml 使用很多默认值,这样在创建新的 .ssh 密钥时,您不需要触摸任何东西

文件夹:- 映射:~/Code 到:/home/vagrant/Code

-map:本地计算机中存储所有项目的目录。这个文件夹可以是你本地机器上的任何文件夹,对吧?是的:我相信这是您的项目将存储在虚拟机中的位置,如果这是正确的,最后一个文件夹是否需要与本地结构中的最后一个文件夹匹配?不需要,你只需在你的虚拟机中指定一个路由,它就会被 -map: 文件夹中的所有文件填充

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

-map:我相信这是您将用于访问您的站点的 url 或域,只要您将其添加到 localhost 文件中,它就可以是您想要的任何东西,对吗?to:我不知道这是什么...

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

192.168.10.10 homestead.app

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

希望这可以帮助

于 2015-03-25T08:11:14.877 回答
5

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

是的。如果你想创建更多的数据库,你可以在下面添加数据库名称- homestead,然后运行命令homestead provision,你会看到数据库被创建。

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

于 2015-05-20T04:59:04.547 回答
5

您还可以optionsmap/to元素中的元素添加folder元素,如下例所示,并为此指定一系列选项,这些选项记录在 Vagrant 文档中

- map: ~/Workspace/my/mapped/directory
  to: /home/vagrant/my/directory
  options: 
      owner: "www-data"
      group: "www-data"
      mount_options: ["dmode=0770,fmode=774"]
于 2017-10-27T10:55:41.230 回答
4

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

https://abbasharoon.me/homestead-yaml-explained-az/

于 2016-10-31T19:37:14.417 回答