Vagrant 的问题 - “404 - 未找到”

     2023-02-25     213

关键词:

【中文标题】Vagrant 的问题 - “404 - 未找到”【英文标题】:Trouble with Vagrant - "404 - Not Found" 【发布时间】:2015-09-06 18:07:26 【问题描述】:

我正在尝试使用 Vagrant 制作 LAMP 盒子。有人告诉我,它使用起来非常简单。我对网络和虚拟机完全陌生,对 Linux/Ubuntu 的经验很少。我目前已经尝试按照官方文档页面上的教程进行操作:http://docs.vagrantup.com/v2/getting-started/networking.html。

我已阅读文档中的网络文章,但似乎无法正常工作。

现在的问题是,由于我对网络和基于 linux 的操作系统缺乏经验,我不知道从哪里开始解决问题。我会尽力提供尽可能多的信息。

我正在运行最新版本的 Vagrant 和最新版本的带有 Windows 8.1 的 Virtualbox。

根据教程,我当前的 Vagrantfile 如下所示:

Vagrant.configure(2) do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, host: 4567, guest: 80
end

我的 bootstrap.sh 文件如下所示:

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
  rm -rf /var/www
  ln -f /vagrant /var/www
fi

当我转到http://127.0.0.1:4567 时,它显示了一个包含此消息的错误页面:

Not Found

The requested URL / was not found on this server.
===================================================
Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 4567

除非有解释,否则我宁愿不编辑任何配置文件,因为我认为这是一种解决方法。但无论如何,我们将不胜感激任何帮助。如果我需要打开一个端口,那么我该如何考虑使用 XAMPP。

【问题讨论】:

【参考方案1】:

您可以从虚拟机内部访问您的网络服务器吗?

例如,试试curl localhost:80

如果没有安装 curl,请在 Ubuntu 上使用 sudo apt-get install curl 并重试。

另外,您检查过您的 apache 虚拟主机吗? /etc/apache2/sites-available 中是否有 000-default 文件?

【讨论】:

我实际上从主机内部得到了完全相同的未找到消息。没有 000-default 但有 2 个其他默认文件。 可以粘贴ls -ls /etc/apache2/sites-enabled的结果吗? 它现在实际上正在工作。谢谢您的帮助。出于好奇,如果它没有出现,你会假设什么? 我在想你的虚拟主机文件有问题。快乐编码!【参考方案2】:

bootstrap.sh有两个问题

    您需要启动 Web 服务。也可以vagrant ssh手动启动 您需要制作软链接,而不是硬链接。

所以脚本会更新为

$ cat bootstrap.sh
#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
  rm -rf /var/www
  ln -s /vagrant /var/www
fi

service apache2 start

【讨论】:

这似乎不起作用。但是什么是软链接和硬链接呢? 如果你不知道什么是软链接和硬链接,那就看这篇askubuntu.com/questions/108771/… 并且修复确实有效,您需要在做出此结论之前检查您的环境。 哦,你是对的!有效。我只是没有正确复制 bootstrap.sh 文件。我真的很困惑为什么我必须以这种方式修改 Vagrantfile 才能工作。理论上,根据官方教程,这应该“开箱即用”。他们给了我损坏的代码吗?我的平台是什么要求我更改这些设置。我只是想明白。 您至少有任何提示或线索吗?【参考方案3】:

我有同样的问题。我试图从 vagrant box 重新启动 apache,但在终端上收到以下警告。

vagrant@vagrant-ubuntu-trusty-64:~$ sudo service apache2 restart
 * Restarting web server apache2   

AH00112: Warning: DocumentRoot [/var/www/html] does not exist
AH00558: apache2: Could not reliably determine the server's fully qualified 
domain name, using 10.0.2.15. Set the 'ServerName' directive globally to suppress this message

通过创建名为 /var/www/html 的目录来创建 DocumentRoot 以修复 404 问题

【讨论】:

tldr:创建 html 文件夹 谢谢鲁本。是的,我忘记创建html文件夹了,创建后就ok了!【参考方案4】:

问题出在/etc/apache2/sites-enabled000-default 文件上。

Apache2 指向 var/www/html 和 vagrant 示例指向 var/www 只需删除 de /html 并创建一个 sudo service apache2 restart

【讨论】:

【参考方案5】:

我尝试了两种可行的解决方案:

首先是更改文件/etc/apache2/sites-enabled/000-default.conf修改/var/www中的DocumentRoot而不是/var/www/html

第二种是将Vagrant文件bootstrap.sh改成如下方式:

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
if ! [ -L /var/www/html ]; then
  rm -rf /var/www/html
  ln -fs /vagrant /var/www/html
fi

除此之外,由于某种原因,我还不得不更改 Vagrantfile 中的端口转发配置,添加 host_ip 键,如下所示:

Vagrant.configure(2) do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, host: 4567, guest: 80, host_ip: "127.0.0.1"
end

【讨论】:

http://localhost/undefined 404(未找到)

.../localhost/undefined404(NotFound)【发布时间】:2015-12-0416:56:29【问题描述】:我的问题描述不清楚。让我再试一次。注意。这是我的生产、暂存和开发站点(不仅仅是评论者似乎认为的我的开发站点)的常见问题。注意。使用Chrome而不... 查看详情

WebAPI 错误 404.0 - 未找到

...】:WebAPIError404.0-NotFound【发布时间】:2012-12-1404:57:59【问题描述】:我们在将WebAPI服务部署到生产服务器时遇到问题。尝试访问控制器时,我们收到“您要查找的资源已被删除、名称已更改或暂时不可用。”我们从标准WebAPI模... 查看详情

未找到 Apache 虚拟主机 404

...:Apachevirtualhost404notfound【发布时间】:2015-06-2222:43:33【问题描述】:我刚开始学习php,我正在尝试使用XAMPP在本地托管我自己的php网站。我想创建虚拟主机:网址:myphpwebsite.local端口:8088但是当我试图通过浏览器访问这个网站... 查看详情

CodeIgniter 404 未找到控制器

...CodeIgniter404notfoundcontroller【发布时间】:2016-10-1210:32:15【问题描述】:我知道这个问题已经被问过很多次了,但我真的无法解决这个问题。我的默认控制器正在工作,但如果我想访问另一个控制器,我将遇到404问题。我的控制器... 查看详情

HttpClient 返回 404 未找到

...:HttpClientReturns404notfound【发布时间】:2018-12-1620:26:28【问题描述】:我有一个从webAPI提取数据的xamarin应用程序。我检查了很多次api地址,我确信它是正确的。当我调试我的代码时,我有来自服务器的404notfound错误。但是,当我... 查看详情

本地主机:404 未找到

...标题】:Localhost:404notfound【发布时间】:2013-07-2203:29:22【问题描述】:我正在使用XAMPP。和Django的内部服务器。当我浏览到localhost或127.0.0.1时,它显示NotFound.HTTPError404.Therequestedresourceisnotfound.它有时可以正常工作,有时会弹出错... 查看详情

Apache Tomcat - HTTP 状态 404 - 未找到 [重复]

...HTTPStatus404-NotFound[duplicate]【发布时间】:2018-05-0601:15:42【问题描述】:我正面临Tomcat404error所述的确切问题并尝试了所有建议,但没有任何帮助我解决此问题。ApacheTomcat9.0和EclipseOxygen是我目前正在使用的,并遵循YouTube上的教程... 查看详情

遇到 WCF 问题:HTTP 错误 404.0 - 未找到

】遇到WCF问题:HTTP错误404.0-未找到【英文标题】:WCFProblemEncountered:HTTPError404.0-NotFound【发布时间】:2020-04-3010:47:25【问题描述】:问题我正在尝试使用WCF创建一个Rest服务。我在调用堆栈命名空间中创建了一个名为“Coronado.HUB”... 查看详情

未识别的 404 未找到页面

...:Unidentified404notfoundpages【发布时间】:2014-12-0914:19:21【问题描述】:我们收到很多404pagenotfound错误,我们找不到相同模式的原因。我们没有对这个404页面进行任何重定向,或者我们没有在任何地方为这个损坏的页面链接提供链... 查看详情

CORS - 选项 ... 404(未找到)

...:CORS-OPTIONS...404(notfound)【发布时间】:2017-10-0814:46:41【问题描述】:您好,我遇到了CORS问题。一般结构:Angular4将表单的数据发送到我的api。函数saveForm()在我发送表单联系人信息时被执行。app.component.tssaveForm()letheaders=newHeaders()... 查看详情

错误 404.3 未找到 JSON 文件

...:ERROR404.3NotFoundforJSONfile【发布时间】:2013-04-1108:43:06【问题描述】:即使在激活所有“应用程序开发功能”之后,我在“Internet信息服务7.5”上使用AJAX调用调用的JSON文件也收到“错误404.3未找到”。除了JSON文件,所有其他文件... 查看详情

404 - 未找到存在 Laravel 8 的 Passport Api 路由

...assportApiRouteThatExistsLaravel8【发布时间】:2021-11-0619:24:03【问题描述】:我安装了护照,并且在api.php文件中有一个路由。网络路由有效,但api路由总是给我一个404-NotFoundinPostman。这是我的路线这是我的UserController函数【问题讨论】... 查看详情

Vercel + Vite - 404 未找到

...ercel+Vite-404notfound[duplicate]【发布时间】:2022-01-1122:14:45【问题描述】:我正在使用vite开发一个网站,它看起来就像在localhost上一样工作。我在Vercel上进行了部署,并且该站点的构建没有错误。但是当我想生成我的源图时,我发... 查看详情

Phonegap Cordova Ajax 请求 404(未找到)错误

...ovaAjaxrequests404(NotFound)Error【发布时间】:2015-07-1422:05:18【问题描述】:我的科尔多瓦版本是5.0.0当应用程序部署在设备上时,我收到所有ajax请求的404错误。在网络浏览器上,它可以正常工作,但在设备上部署相同的应用程序时无... 查看详情

Apache - 404 未找到

...文标题】:Apache-404NotFound【发布时间】:2017-04-0402:34:04【问题描述】:下午好,我正在制定一个项目,我已经在带有ubuntu16.04的虚拟机中安装了php、mysql、apache2。我在本地工作,我已经安装了laravel5.3,我有一个API正在运行并创建... 查看详情

Grunt 连接代理:404 未找到

...:GruntConnectProxy:404NotFound【发布时间】:2016-06-1604:18:15【问题描述】:我正在使用grunt-connect-proxy"^0.2.0"从我的angularjs应用程序代理到api。该项目是从yeomanangular-generator开始的。我已经按照here的说明进行操作,但是当使用代理时,... 查看详情

Azure Web 应用返回 404(未找到)

...Azurewebappreturns404(notfound)【发布时间】:2017-11-2816:46:48【问题描述】:我写了一个Angular应用程序,然后我添加了一个node.js服务器文件以包含一个基本的服务器端。在我的本地文件夹中,应用程序可以运行-服务器返回index.html文件... 查看详情

HTTP 状态 404 - 未找到 Servlet

...:HTTPStatus404-Servletnotfound【发布时间】:2019-07-3023:56:46【问题描述】:我在Eclipse中有一个项目,并试图从Web浏览器调用一个servlet。该图显示了我的项目的结构。虽然我在注解中设置了url,但还是找不到资源。这是我的代码:packa... 查看详情