我无法理解如何使用vagrant和Laravel Homestead环境运行我的网站。
我添加laravel/homestead
框没有任何问题。然后我跑了vagrant init laravel/homestead
,它也奏效了。
我设法创建了Homestead.yaml以及它包含的内容:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/www
to: /home/vagrant/code
sites:
- map: project.dev
to: /home/vagrant/code/project
databases:
- homestead
variables:
- key: APP_ENV
value: local
vagrant up
运行正常,但我不知道如何访问我的网站。我在192.168.10.10 project.dev
添加了/etc/hosts
。
我希望将我的项目保留在~/www/project
。我从文档中无法理解的第一件事是,sites / map /到设置的文件夹应该是什么?我的本地文件夹或虚拟环境中的文件夹?
接下来我不明白为什么当我vagrant ssh
然后ls
时,我看不到任何文件,即使有index.php
{{ 1}}在我的~/www/project
。我以为它们会自动同步。
当我在浏览器中转到project.dev
时,会超时。我也尝试了project.dev:8000
和192.168.10.10
,但没有任何作用。
请帮帮我。
答案 0 :(得分:1)
你忘记了文件夹参数,你的缩进也应该是空格而不是标签,这就是yaml的工作方式,其他一切看起来都很好,但试着用类似的东西来做它
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/www/project
to: /home/vagrant/code
sites:
- map: project.dev
to: /home/vagrant/code/project/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
答案 1 :(得分:0)
您错过了homestead.yaml
文件中的文件夹共享设置。
尝试添加
folders:
- map: ~/www/project
to: /home/vagrant/code
在这里查看文档 {strong>配置共享文件夹
下的http://laravel.com/docs/5.1/homestead#configuring-homestead答案 2 :(得分:0)
我认为这是Laravel Homestead新手所面临的常见问题。
Laravel Homestead基本上提供了一个可以为Laravel开发做好准备的映像。 “站点”上的yaml配置基本上用于配置Nginx - 它不会在指定的路径上安装Laravel项目。
因此,对于新的Homestead VM,您只需要进入Homestead VM,然后输入并运行:
composer global require "laravel/installer=~1.1"
完成后,在/ home / vagrant / code文件夹中(在VM中,而不是您的主机),输入并运行:
laravel new project
“项目”是新项目的名称。由于您的yaml已配置为“project”,因此上述命令可以正常工作。显然,这显然不是获得Laravel的唯一方法,因为您可以使用composer create-project直接安装Laravel。
完成后,如果您的主机文件配置了这个添加的条目,您应该可以在主机的浏览器上访问http://project.dev:
192.168.10.10<tab>project.dev
或者,您可以将主机文件配置为
127.0.0.1<tab>project.dev
然后您可以通过http://project.dev:8000
在主持人的浏览器中查看希望以上解释清楚。享受!