在窗口平台上,我从eclipse juno运行了tomcat。但是在linux上我遇到了这个问题
当我从eclipse运行web项目时,我收到此错误消息,而从命令行我可以运行tomcat。
错误消息是 - 本地主机上的Tomcat v7.0服务器需要端口80 已在使用中。服务器可能已在另一台服务器上运行 进程或系统进程可能正在使用该端口。开始这个 服务器,您将需要停止其他进程或更改端口 号(S)。
我已经使用nmap和其他命令
检查了我的端口主要的一点是,当我从命令行运行tomcat然后它启动,但是当我从eclipse启动它时我得到了这个错误
答案 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服务器。