Vagrant 盒子上的应用程序 运行 Laravel Homestead 仅在全新安装 Laravel 应用程序时显示 'It Works'
App on a Vagrant box running Laravel Homestead only displays 'It Works' upon fresh install of Laravel App
我使用 laravel new blog
终端命令将新的 Laravel 应用程序安装到名为 'blog' 的 /sites
文件夹中。
站点构建良好,终端没有错误。
然后我使用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
的别名来更新所有内容并启动站点并 运行ning.
现在,在 运行 执行 vagrant provision
命令之前,所有其他站点(laraveltest.app:8000、makoto.app:8000 等)工作正常,或者显示默认 Laravel 初始屏幕 (laraveltest.app:8000)。
访问 homestead.yaml 文件中映射的任何站点时,我得到的只是显示以下页面...
这是 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
编辑:我目前正在卸载 vagrant box 运行ning laravel/homestead。我执行了 vagrant destroy <id>
命令和 vargrant box remove
。然后我编辑了 /etc/hosts
文件并删除了所有编辑过的自定义应用程序名称。然后我还删除了包含 homestead.yaml
文件的 Homestead 文件夹。我希望很快能在这里开始全新安装。
您是否配置了可用站点?在虚拟机中尝试这一行(在命令 vagrant ssh
之后):
serve blog.app ~/sites/blog/public
看来您已经解决了问题,因为您对原始问题进行了编辑并链接到一个新问题。但是,我注意到可能导致您出现问题的一件事是 /etc/hosts
文件中的 IP 与 Homestead.yaml
文件中的 IP 不匹配。当我使用 Laravel Homestead 时,我确保我的 /etc/hosts
和 Homestead.yaml
文件具有相同的 IP。执行此操作时,我总是会看到 Laravel 初始页面。希望这对未来的 Vagrant 盒子有用。
(代表 OP 发布答案).
我重新安装了所有东西,包括 Vagrant box 和 Homestead。一切正常运行。不知道发生了什么。然而,我可以连接到我的站点的唯一方法是在 URL 中实际键入端口。即 blog.app:8000
。如果我自己访问 blog.app
,那么 "It Works!" header 会恢复,laravel 站点会消失。
我认为这可能是 nginx 和端口转发的问题?既然是这种情况,并且我自己已经回答了原始问题,我将提出一个关于端口转发和 Laravel homestead.
的新问题
我使用 laravel new blog
终端命令将新的 Laravel 应用程序安装到名为 'blog' 的 /sites
文件夹中。
站点构建良好,终端没有错误。
然后我使用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
的别名来更新所有内容并启动站点并 运行ning.
现在,在 运行 执行 vagrant provision
命令之前,所有其他站点(laraveltest.app:8000、makoto.app:8000 等)工作正常,或者显示默认 Laravel 初始屏幕 (laraveltest.app:8000)。
访问 homestead.yaml 文件中映射的任何站点时,我得到的只是显示以下页面...
这是 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
编辑:我目前正在卸载 vagrant box 运行ning laravel/homestead。我执行了 vagrant destroy <id>
命令和 vargrant box remove
。然后我编辑了 /etc/hosts
文件并删除了所有编辑过的自定义应用程序名称。然后我还删除了包含 homestead.yaml
文件的 Homestead 文件夹。我希望很快能在这里开始全新安装。
您是否配置了可用站点?在虚拟机中尝试这一行(在命令 vagrant ssh
之后):
serve blog.app ~/sites/blog/public
看来您已经解决了问题,因为您对原始问题进行了编辑并链接到一个新问题。但是,我注意到可能导致您出现问题的一件事是 /etc/hosts
文件中的 IP 与 Homestead.yaml
文件中的 IP 不匹配。当我使用 Laravel Homestead 时,我确保我的 /etc/hosts
和 Homestead.yaml
文件具有相同的 IP。执行此操作时,我总是会看到 Laravel 初始页面。希望这对未来的 Vagrant 盒子有用。
(代表 OP 发布答案).
我重新安装了所有东西,包括 Vagrant box 和 Homestead。一切正常运行。不知道发生了什么。然而,我可以连接到我的站点的唯一方法是在 URL 中实际键入端口。即 blog.app:8000
。如果我自己访问 blog.app
,那么 "It Works!" header 会恢复,laravel 站点会消失。
我认为这可能是 nginx 和端口转发的问题?既然是这种情况,并且我自己已经回答了原始问题,我将提出一个关于端口转发和 Laravel homestead.
的新问题