访问错误:404 -- 未找到。无法定位文档:/

12
我对Tomcat这个东西非常不熟悉。我下载了Tomcat 7.0的Windows安装程序并使用默认配置进行了安装。安装完成后,我在浏览器中输入localhost:8080检查Tomcat是否正常工作。但是,显示错误消息如下:访问错误:404--未找到,无法定位文档:/,页面上没有任何与Tomcat或Apache相关的信息。看起来Tomcat没有响应。
我通过Google和论坛搜索了很多,但迄今为止人们提供的解决方案都没有起作用。 1. 检查了server.xml文件,8080是HTTP连接器端口: Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" 2. 我确实在\bin文件夹中运行了Tomcat7.exe。一些内容在命令窗口中运行,并随即消失。之后什么也没变化。 3. 我根据网上的教程设置了一些环境系统变量,例如JAVA HOME、PATH和CLASSPATH。
仍然不起作用。我怀疑的只有两件事: 1. 我的Program Files目录中有两个JRE文件夹:jre6和jre7。Tomcat7选择了jre7。 2. 我还安装了另一个名为Wamp server的服务器,我用它学习了一些PHP编程和SQL使用。该软件包含有Apache。不确定它是否使用了8080端口。 请帮忙解决问题。我已经在线寻找了超过两个小时,仍旧头痛。欢迎任何意见。

1
catalina.out 日志文件位于 TOMCAT_HOME/logs 目录下,里面是否有任何内容? - Will Keeling
嗯,这个文件里已经有很多日志了。我搜索了8080。1. SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"] java.net.BindException: Address already in use: JVM_Bind <null>:8080 2. SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]] 所以它已经被JVM使用了? - sunraincyq
6个回答

25

给其他人的一个提示:如果你安装了NI应用程序,NI应用程序Web服务器也会使用8080端口。


1
NI应用程序? - User
@Khan 通常是任何类型的NI软件。 - Koshinae
1
@Khan Ah. "国家仪器" - Koshinae
在我的情况下,它是javaw.exe,而不是一个服务。 - quangkid
2
哇,没错,就是这样。NI 强制你安装很多垃圾软件,我不敢禁用它们,因为如果我需要它们,我可能会忘记我已经禁用了它们。唉。 - woojoo666

23

当我遇到错误 访问错误: 404 -- 未找到页面时,我通过以下步骤进行了修复:

  1. 打开命令提示符并输入“netstat -aon”(不包括引号)
  2. 搜索端口8080,并查看其PID编号/代码。
  3. 打开任务管理器(CTRL+ALT+DELETE),转到服务选项卡,并查找具有相同PID编号的服务。然后右键单击它并停止该进程。

很好,那是Skype。我结束了它,现在可以工作了。谢谢。 - themhz
可以使用 taskkill /PID 1234 /F。 - Adam Johnston
1
第一步会生成大量输出,这可能会使第二步中的搜索变得繁琐。将第一步中的命令更改为 netstat -aon | findstr 8080 将仅显示包含 8080 的行,并大大减少需要在第二步中检查的输出。 - skomisa

4

阅读日志后,我想我已经解决了问题。感谢威尔的提醒,我检查了日志,并发现有些程序正在监听该端口。在我开始找出是哪个程序之前,我的电脑被重新启动了,localhost:8080可以正常工作并显示Tomcat页面。太好了!


1

您的8080端口已被其他应用程序使用 1/ 您可以尝试使用"netstat -aon"查找正在使用它的应用程序并停止该进程; 2/ 您可以前往server.xml并将端口从8080更改为另一个端口(例如:8081)


1
你可以运行以下命令。我相信这就是你想要的!
注意:确保端口8080已开放。如果没有,请使用sudo kill -9 $(sudo lsof -t -i:8080) 杀死正在使用8080端口的进程。
 ./catalina.sh run

这个简单多了。 - Yu Tao

1
对于CentOS用户(至少是这样),如果未安装tomcat-webapps软件包,则在新安装上尝试访问端口8080的服务器时也会收到404错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接