无法从端口80的linux中的eclipse juno启动Apache tomcat

时间:2013-05-21 07:07:22

标签: java linux eclipse java-ee

在窗口平台上,我从eclipse juno运行了tomcat。但是在linux上我遇到了这个问题

当我从eclipse运行web项目时,我收到此错误消息,而从命令行我可以运行tomcat。

  

错误消息是 - 本地主机上的Tomcat v7.0服务器需要端口80   已在使用中。服务器可能已在另一台服务器上运行   进程或系统进程可能正在使用该端口。开始这个   服务器,您将需要停止其他进程或更改端口   号(S)。

我已经使用nmap和其他命令

检查了我的端口

主要的一点是,当我从命令行运行tomcat然后它启动,但是当我从eclipse启动它时我得到了这个错误

3 个答案:

答案 0 :(得分:0)

首先,再次检查端口是否确实在使用中。我相信你有apache web服务器(httpd)正在接收端口。

其次,在Linux上,只有在root用户下运行的进程才能使用较低端口(低于100)。可能当你从命令行运行tomcat时,你以root身份运行它(例如使用sudo),但是当你从eclipse运行它时它会在你的用户下运行。

解决方案是: 用于开发使用其他端口。 E.g 8080

生产: 使用特殊用户帐户(不是root)来运行tomcat。例如。用户名为tomcat。将其配置为侦听端口8080.在root用户下运行apache web server(httpd),配置为侦听端口8080并配置为使用mod_jk连接到tomcat。这是最安全可靠的常用配置。

答案 1 :(得分:0)

我相信linux附带了一个apache服务器,它可能在端口80上运行。所以当你尝试在同一个端口上运行tomcat时,它正在抱怨已经在使用的端口。要确定是否安装了apache,可以使用rpm命令。我相信它是rpm -qa会告诉你所有安装的软件包。现在,就apache文件的目录而言,它通常是 的/ var / WWW / htdocs中。

答案 2 :(得分:0)

从命令行启动Tomcat后你也停了吗?因为如果Tomcat仍在从命令行运行,那么在尝试再次从eclipse启动它时会出现此错误。

在端口80上运行Tomcat是对的吗?这不适用于Linux环境,因为Linux提供了一个侦听端口80的Apache Web服务器。