use*_*ert 7 vagrant laravel vagrantfile homestead
我有一个网站设置正常,但第二个无法远程访问:
我的YAML:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Projects
to: /home/vagrant/Projects
sites:
- map: app.app
to: /home/vagrant/sites/app1/public
- map: app2.app
to: /home/vagrant/sites/app2/public
port: 8100
ports:
- host: 81
- guest: 8100
Run Code Online (Sandbox Code Playgroud)
我可以轻松地使用我的IP访问第一个站点 - http://192.168.0.5/但第二个站点不能共享同一个端口,所以我添加了81 -> 8100.
当我试图重新配置我的宅基流浪盒时,它说:这台机器的配置有误.请修正以下错误,然后重试:
vm:
* Forwarded port definitions require a "host" and "guest" value
* Ports to forward must be 1 to 65535
* Ports to forward must be 1 to 65535
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
xip.io服务可以轻松完成此任务。就是这样:
例如,我有以下 Homesite 应用程序设置“rentmanager.test”。这是我在 Homestead 上配置的第一个应用程序,因此它是默认路由。要从我的本地网络访问它,我所要做的就是访问:
http://rentmanager.test.192.168.5.124.xip.io:8000
Run Code Online (Sandbox Code Playgroud)
其中“rentmanager.test”。是我在 Homestead 上的 Laravel 应用程序的名称,“192.166.5.124”。是我在本地网络上的 IP 地址,“xip.io:8000”是重定向服务域以及在 Homestead 设置的默认路由之外访问应用程序 (8000) 所需的端口。
现在,这对于您配置的第一个站点来说开箱即用,但如果我们有多个站点会发生什么?这需要更多的跑腿工作。假设我们想要访问第二个名为“sitescanner.test”的应用程序。如果我尝试使用新的应用程序 URL 访问上面的相同 URL,您会看到我仍然收到第一个应用程序!让我们也解决这个问题。
首先,您需要向主机文件添加一条附加规则。因此,假设我们的新应用程序名为“sitescanner.test”:
# Vagrant Sites External Access
192.168.10.10 sitescanner.test.192.168.5.124.xip.io
Run Code Online (Sandbox Code Playgroud)
一旦到位,我们就必须更新 Homestead 中的配置脚本以创建正确的虚拟主机条目,以便 Homestead 知道如何路由请求。为此,我们将编辑您的 Homestead.yaml。在“sites:”指令下:
- map: sitescanner.test
to: /home/vagrant/Code/sitescanner/public
- map: sitescanner.test.192.168.5.124.xip.io
to: /home/vagrant/Code/sitescanner/public
Run Code Online (Sandbox Code Playgroud)
完成后,只需“vagrant stop”(如果它已经在运行),然后“vagrant up --provision”,您应该能够从
http://sitescanner.test.192.168.5.124.xip.io:8000
Run Code Online (Sandbox Code Playgroud)
网络上的任何地方!希望这可以帮助。
在我思考的同时,对于这个配置还有一个最终的考虑:
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |