这个问题应该得到回答这里,但由于解决方案尚无定论,我不得不再次询问。
我正在尝试配置 Tomcatserver.xml
以在 TCP 8080 端口上工作。但是它总是失败,因为端口 8080 正在使用。我尝试运行netstat -ano
以找出正在使用端口 8080 的程序,当时似乎是 Firefox(是的,这也让我感到困惑)。当我这样做时http://localhost
,我得到了 404,而执行http://localhost:8080/
地址工作正常。当我单击示例 Web 应用程序上的注销并查找localhost/?logout
页面时,问题变得明显。我可以强制链接查找localhost:8080/?logout
,但这是一个临时办法,而不是正确的解决方案。
有谁知道解决这个问题的方法吗?
答案1
运行资源监视器(如果您使用的是 Windows,因为您没有指定操作系统),方法是按 Windows 键,然后键入resmon
。
然后在Network
选项卡中,您可以查看Listening ports
并检查哪个程序正在使用端口 80。然后处理它。
如果你使用的是 Linux,请在命令行中输入以下内容:
sudo netstat -tapen | grep ":80 "
答案2
经过一番研究,我明白了问题的原因。
当我启动 Tomcat 时,该服务试图将端口 8080 绑定到其连接器(使用service.xml
文件配置)。但 SQL Server Reporting Services 是我不熟悉的应用程序。显然,MSSQLSERVER Reporting Services 默认使用端口 8080,如果已作为服务安装,除非您禁用它,否则它将这样做。
一旦我禁用该服务,我的 Web 应用就可以完美运行。这也是为什么将其绑定到 8055 暂时有效的原因(但无论如何这不是一个合理的解决方案)。
感谢@TechLife 的回答:)