流浪者与laravel宅基地分享

时间:2014-11-05 17:18:26

标签: laravel vagrant

我遇到了一个问题,让流浪者分享与laravel宅基流浪盒一起工作。我的homestead.yaml文件看起来像:

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

authorize: /Users/me/.ssh/id_rsa.pub

keys:
    - /Users/me/.ssh/id_rsa

folders:
    - map: /Users/me/Projects/laravel
      to: /home/vagrant/laravel

sites:
    - map: laravel.app
      to: /home/vagrant/laravel/public

variables:
    - key: APP_ENV
      value: local

当我点击http://laravel.app:8000时 - 一切正常。当我启动vagrant share时,生成的网址会返回错误No input file specified.

我很难过。在Google上搜索几个小时并没有找到解决方案。我确定这只是一些基本配置的东西而且我没有连接点。任何指针将不胜感激。谢谢!

4 个答案:

答案 0 :(得分:7)

@ sanaco的回答错过了我的一些步骤。这是创建共享的完整命令(登录后)

vagrant share --http 80 --name silly-sausage

完成后,该命令将输出应该如下所示的共享URL

http://silly-sausage.vagrantshare.com

一旦分享到了,你需要用

进入流浪者盒子
 vagrant ssh

然后运行

serve silly-sausage.vagrantshare.com ~/Code/project/path/public 

没有http标志,vagrant将443分配给http,这使得nginx抱怨用于HTTP连接的HTTPS端口。

通过指定名称,您只需要第一次执行serve命令。

答案 1 :(得分:5)

有一个解决方案,无需在家园VM上做任何事情。

您可以安装一个名为ngrok的程序,该程序与vagrant share类似,但与Homestead使用的多个站点相比更好。您需要注册一个帐户,但基本用法是免费的。

运行:ngrok http -host-header=rewrite your-local-site.app:80

(其中your-local-site.app用于Homestead.yaml文件中的map指令)

然后,您的网站将在全球范围内通过ngrok为您提供的网址提供。

答案 2 :(得分:3)

第一步是为Vagrant Cloud创建一个帐户,如果您还没有。

完成后,在您的终端(登录Homestead计算机)中运行vagrant login并使用您的详细信息登录。

然后运行vagrant global-status以查找Homestead正在运行的流浪机器的ID。

运行vagrant share 123a4(其中123a4是机器ID),您的机器将被共享!

请注意,您可能必须设置Nginx配置以侦听为您生成的URL,以便指向计算机上的正确站点。

答案 3 :(得分:0)

在宅基地目录中尝试此命令:vagrant provision

要获取共享URL,请使用以下命令: vagrant share

有时它不会在Windows上捣乱。 使用 vagrant share --http 8000

8000是端口homestead使用端口转发8000 -> 80

注意:要使用vagrant共享,您必须安装ngrok