繁体   English   中英

流浪者与laravel宅基地分享

[英]vagrant share with laravel homestead

我正在遇到一个问题,让流浪者分享与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 ,生成的URL返回错误No input file specified.

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

@ 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命令。

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

你可以安装一个名为ngrok的程序, 它对 vagrant share做类似的事情,但对于Homestead使用的多个站点更好。 您需要注册一个帐户,但基本用法是免费的。

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

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

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

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

一旦你做到了这一点,在你的终端( 没有登录到宅基机)上运行vagrant login并使用您的信息登录。

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

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

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

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

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

有时它不会在窗户上乱成一团。 使用vagrant share --http 8000

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM