0

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

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

错误消息是 - 本地主机上的 Tomcat v7.0 服务器所需的端口 80 已在使用中。服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。

我已经使用 nmap 和其他命令检查了我的端口

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

4

3 回答 3

0

首先,再次检查端口是否确实在使用中。我相信您拥有占用该端口的 apache Web 服务器 (httpd)。

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

解决方案是:开发使用其他端口。例如8080

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

于 2013-05-21T07:14:22.937 回答
0

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

于 2013-05-21T07:14:59.050 回答
0

从命令行启动 Tomcat 后,您是否也停止了它?因为如果 Tomcat 仍在从命令行运行,则在尝试从 Eclipse 中再次启动它时会出现此错误。

您在端口 80 上运行 Tomcat 是否正确?这在 Linux 环境中是行不通的,因为 Linux 提供了一个监听端口 80 的 Apache Web 服务器。

于 2013-05-21T07:16:47.230 回答