Mus*_*abe 28 php vagrant laravel homestead
我一直在使用XAMPP很长一段时间,在发现Laravel并发现之后,我非常喜欢它,我也想使用Homestead.我遇到的问题是,我似乎无法运行多个站点.
我尝试了各种各样的东西,但目前的主要问题是,一个项目有效,而其他所有项目在尝试访问其网页时都会出现连接超时.
这些是我使用Homestead的步骤
vagrant box add laravel/homesteadgit clone https://github.com/laravel/homestead.git HomesteadHomestead使用bash init.sh脚本在目录中创建Homestead.yaml文件laravel new projectAcomposer require laravel/homesteadphp vendor/bin/homestead makelaravel new projectBcomposer require laravel/homesteadphp vendor/bin/homestead makesudo nano /etc/hosts=> xxx.xx.xx.10 projecta.app&xxx.xx.xx.11 projectb.appvagrant up现在,我遇到了问题,只有一个项目可以访问.它始终是我打电话的地方vagrant up.因此,如果我vagrant up从Project AI 调用可以访问http://projecta.app并http://projectb.app超时.可悲的是,相反的方式.
这是我的 vagrant global-status
id name provider state directory
------------------------------------------------------------------------
fc6fadb default virtualbox running /Users/mknb/work/projectA
Run Code Online (Sandbox Code Playgroud)
我以为我会vagrant up从projectB目录中再做另一个,但当然不行.
我不想使用全球的Homestead,因为Laravel说,有可能per project安装,所以我该如何实现呢?你需要更多的信息?
我没有修改Homestead.yaml除IP和domainname homestead.app=>之外的其他内容projecta.app
使用Homestead似乎全局安装相当容易,因为我只需要向Homestead.yaml添加更多站点,但正如我所说,我希望每个项目安装一次.有人可以帮忙吗?
从Homestead目录启动vagrant当然不起作用.
Hie*_* Le 37
通过以您的方式使用Homestead,您可以为每个项目创建一个虚拟机.因此,VirtualBox无法从主机为所有虚拟机转发HTTP请求.每次只能运行一台机器(因此,一个项目).
要使用Homestead运行多个项目,您可以执行以下操作:
git clone https://github.com/laravel/homestead.git HomesteadHomestead文件夹内,运行bash init.sh编辑folders属性~/.homestead/Homestead.yaml以与VM共享两个项目的代码:
folders:
- map: ~/pj1
to: /path/to/project1
- map: ~/pj2
to: /path/to/project2
Run Code Online (Sandbox Code Playgroud)
编辑sites属性~/.homestead/Homestead.yaml以使Nginx启用两个站点的域:
sites:
- map: project1.local
to: /home/vagrant/pj1/public
- map: project2.local
to: /home/vagrant/pj2/public
Run Code Online (Sandbox Code Playgroud)
编辑您的hosts文件以将这些域转发到localhost
127.0.0.1 project1.local
127.0.0.1 project2.local
Run Code Online (Sandbox Code Playgroud)
vagrant up在你克隆宅基代码里面(其中包含的文件夹init.sh的文件).现在,只需一台Homestead虚拟机即可运行任意数量的项目.
hhs*_*diq 10
虽然它对我很有帮助,但在接受的答案中缺少一些重要的步骤.我已经添加了那些必要的步骤.谢谢@Hieu Le的回答.
我假设您已按照Laravel文档的说明正确安装了您的第一个站点.现在你有另一个laravel网站,你想转移流浪汉.请执行以下步骤.
cd进入要添加的新Laravel项目的目录.我假设你有所有laravel文件,它使用MAMP或任何非流浪的解决方案.vagrant init laravel/homestead.此命令将VagrantFile在此新项目中添加必要的内容.Homestead.yaml在编辑器中打开其
文件.现在按照@Hieu Le定义的步骤接受修改.yaml文件的答案
Run Code Online (Sandbox Code Playgroud)folders: - map: ~/pj1 to: /path/to/project1 - map: ~/pj2 to: /path/to/project2 sites: - map: project1.local to: /home/vagrant/pj1/public - map: project2.local to: /home/vagrant/pj2/public编辑您的hosts文件以将这些域转发到localhost
Run Code Online (Sandbox Code Playgroud)127.0.0.1 project1.local 127.0.0.1 project2.local
cd进入您的第一个原始项目目录.vagrant reload --provision.这将重新加载流浪汉机器,以便我们在.yaml文件中所做的更改生效.您原始项目的数据库将保持不变.vagrant sshls并确保您可以看到新项目的文件夹.如果它在那里你已正确配置你的新网站.http://您就完成了.| 归档时间: |
|
| 查看次数: |
20311 次 |
| 最近记录: |