Laravel Homestead多个站点

时间:2014-11-19 20:57:01

标签: php laravel laravel-4 vagrant

我已经正确安装了Laravel Homestead,但现在我想添加一个额外的网站,我已经完成了文档中的每一步,编辑了我的Homestead.yaml和我的hostfile

Homestead.yaml

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

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

sites:
    - map: scp.dev
      to: /home/vagrant/Projects/scp
    - map: katniss.dev
      to: /home/vagrant/Projects/katniss

databases:
    - scp

variables:
    - key: APP_ENV
      value: local 

HOSTFILE

192.168.10.10 scp.dev
192.168.10.10 katniss.dev

但是当我运行vagrant provision时,它会显示:

运行此操作需要Vagrant环境或目标计算机 命令。运行vagrant init以创建新的Vagrant环境。要么, 从vagrant global-status获取目标计算机的ID以运行 这个命令就开。最后一个选项是使用a更改为目录 Vagrantfile并再试一次。

我是否必须在特定文件夹上运行此命令?

4 个答案:

答案 0 :(得分:8)

使用没有ID的vagrant provision要求工作目录使用Vagrantfile生成vagrant init。因此,要使命令工作,您需要:

cd /directory/with/Vagrantfile
vagrant provision

如果要从系统中的任何位置运行命令,可以使用任何带有目标计算机的vagrant命令(例如uphaltdestroy,{{ 1}})与该机器的ID。要获取可用的ID,请运行:

provision

然后:

vagrant global-status

有关详细信息,请查看Vagrant Global Status Docs

答案 1 :(得分:1)

更简单的单命令解决方案!

我停止编辑homestead.yaml文件,因为和你一样,我很难接受更改。现在我只是从VM本身添加新站点。它非常简单,最好的部分是您不需要重新配置VM。

只需SSH进入您的Homestead框:

vagrant ssh

然后,使用以下命令:

serve domain.com ~/Code/project/public

显然将domain.com替换为您想要访问该网站的域名,将~/Code/project/public替换为项目公共目录的完整路径。

不要忘记编辑本地主机文件,添加domain.com

192.168.10.10 domain.com

完成此操作后,您的新网站现在可以通过domain.com访问。

在较新版本的Homestead上,serve命令可能不可用。您可以将其添加回Homestead/scripts/目录,然后将serve-laravel.sh文件复制到serve.sh

答案 2 :(得分:0)

我认为更简单的解决方案就是。

EPOCLAB:~Dev $ homestead停止 EPOCLAB:~Dev $ homestead up --provision

答案 3 :(得分:0)

您可以使用以下选项。

<强> homestead.yaml

folders:
- map: ~/Projects/scp
  to: /home/vagrant/Projects/scp
- map: ~/Projects/katniss
  to: /home/vagrant/Projects/katniss

sites:
- map: scp.dev
  to: /home/vagrant/Projects/scp
- map: katniss.dev
  to: /home/vagrant/Projects/katniss

<强> HOSTFILE

192.168.10.10 scp.dev
192.168.10.10 katniss.dev

假设你的宅基地已经停止,请按照命令运行。

homestead up --provision

尝试再次访问您的新网站。