我遇到了一个问题,让流浪者分享与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上搜索几个小时并没有找到解决方案。我确定这只是一些基本配置的东西而且我没有连接点。任何指针将不胜感激。谢谢!
答案 0 :(得分:7)
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。