运行Laravel Homestead的Vagrant盒子上的应用程序仅在全新安装Laravel App

时间:2017-07-28 02:11:18

标签: laravel nginx vagrant virtualbox homestead

我使用/sites terminal命令将新的Laravel应用程序安装到名为'blog'的laravel new blog文件夹中。

网站建设良好,终端没有错误。

然后我使用subl /etc/hosts命令在Sublime Text 3中打开hosts文件。这是该文件的内容。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1   laraveltest.app
127.0.0.1   makoto.app
127.0.0.1   modelawiki.app
127.0.0.1   fresher.app
127.0.0.1   blog.app

现在让我们关注blog.app。

然后我使用subl Homestead.yaml命令打开和编辑Homestead.yaml文件并更新地图。这是该文件的内容。

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

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/www/sites
      to: /home/vagrant/sites

sites:
    - map: blog.app
      to: /home/vagrant/sites/blog/public
    - map: laraveltest.app
      to: /home/vagrant/sites/laravelTest/public
    - map: makoto.app
      to: /home/vagrant/sites/Makoto
    - map: modelawiki.app
      to: /home/vagrant/sites/modelawiki
    - map: fresher.app
      to: /home/vagrant/sites/fresher/public


databases:
    - homestead

然后我运行homestead provision命令,该命令是vagrant provision的别名,以更新所有内容并启动并运行该站点。

现在在运行vagrant provision命令之前,每个其他站点(laraveltest.app:8000,makoto.app:8000等)工作正常,并显示Default Laravel Splash屏幕(laraveltest.app: 8000)。

访问homestead.yaml文件中映射的任何网站时,我得到的是显示的以下页面...

http://imgur.com/a/6IIkD

这是HTML输出。

<html><body><h1>It works!</h1></body></html>

我对自己做错了很困惑。我是LaraCasts上Laravel教程的新用户。我在YouTube上关注了CodeCourses视频,帮助我将Vagrant Box安装到我的机器上。

我也曾试图在网上看到这个问题的内容,我所能找到的就是关于laravel valet的这篇文章......但似乎这不是我需要的教程。

https://laracasts.com/discuss/channels/laravel/valet-v112-update-just-keep-getting-the-it-works

编辑:我目前正在卸载运行laravel / homestead的流浪盒。我做了vagrant destroy <id>命令和vargrant box remove。然后,我编辑了/etc/hosts文件并删除了所有已编辑的自定义应用程序名称。然后我还删除了包含我的homestead.yaml文件的Homestead文件夹。我希望很快就能在这里重新安装。

3 个答案:

答案 0 :(得分:1)

(代表OP发表答案)

我重新安装了包括Vagrant box和Homestead在内的所有东西。一切都正常运行。不知道发生了什么。但是,我可以连接到我的站点的唯一方法是在URL中实际键入端口。即blog.app:8000。如果我单独访问blog.app,那么&#34; It Works!&#34;标题回来了,laravel网站消失了。

我认为这可能是nginx和端口转发的问题?既然如此,原来的问题已由我自己解答,我会问一个关于港口转发和Laravel宅基地的新问题。

答案 1 :(得分:0)

您是否配置过您的网站?在虚拟机内部尝试此行(在命令vagrant ssh之后):

serve blog.app ~/sites/blog/public

答案 2 :(得分:0)

您似乎已经解决了问题,因为您对原始问题进行了编辑并链接到了一个新问题。但是,我注意到可能导致您的问题的一件事是/etc/hosts文件中的IP与Homestead.yaml文件中的IP不匹配。当我使用Laravel Homestead时,我确保我的/etc/hostsHomestead.yaml文件具有相同的IP。当我这样做时,我总是得到Laravel启动页面。希望这对未来的Vagrant盒子很有用。