在window平台上我已经从eclipse juno运行了tomcat。但在linux我面临这个问题
当我从 eclipse 运行 Web 项目时,我收到此错误消息,而从命令行我可以运行 tomcat。
Error Message is - Port 80 required by Tomcat v7.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
我已经使用 nmap 和其他命令检查我的端口
要点是,当我从命令行运行 tomcat 时,它会启动,但是当我从 eclipse 启动它时,我收到此错误
最佳答案
首先,再次检查该端口是否确实被使用。我相信您有 apache Web 服务器 (httpd) 正在占用该端口。
其次,在 Linux 上,只有在 root 用户下运行的进程才能使用较低的端口(100 以下)。可能当您从命令行运行 tomcat 时,您会以 root 身份运行它(例如使用 sudo),但是当您从 eclipse 运行它时,它会在您的用户下运行。
解决办法是:
进行开发时使用其他端口。例如8080
。
对于生产:
使用特殊用户帐户(不是 root)来运行 tomcat。例如。用户名为 tomcat
。将其配置为监听端口 8080。在配置为监听端口 8080 的 root 用户下运行 apache Web 服务器 (httpd),并配置为使用 mod_jk 连接到 tomcat。这是最安全可靠的常用配置。
关于java - 无法从 linux 中的 eclipse juno 端口 80 启动 Apache tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16664065/