linux - 从 80 端口的 Eclipse 启动 Tomcat ( Linux )

标签 linux eclipse tomcat ubuntu port80

这个问题之前有人问过,但没有给出真正的答案(据我所知)。

这是原始问题的链接: Start Tomcat from Eclipse in port 80 in Ubuntu with Authbind .

  • 我确实需要在端口 80 上运行 tomcat。
  • 我不想在计算机上安装 tomcat。我认为这不是必需的。
  • 我想避免使用端口转发(我现在必须这样做,因为我找不到其他解决方案)

我正在使用:

  • Ubuntu 12.04
  • eclipse 朱诺号
  • Tomcat 7
  • OpenJDK 64 位服务 - Java 版本“1.7.0_07”

我能够以非 root 用户身份在端口 80 中启动 tomcat,而无需安装 tomcat。

我关注这篇文章: http://java.dzone.com/articles/running-tomcat-port-80-user 有很多关于该主题的文章,但我发现这篇文章既简单又完整。

当我尝试使用 eclipse 启动 tomcat 时,它总是失败并提示端口 80 已被使用。但事实并非如此。事实上,当 eclipse 正在运行并且屏幕上显示错误时,我可以在端口 80 上手动启动 tomcat。

我注意到 eclipse 在没有访问该端口的权限时提示端口 80 被使用。在我无法在端口 80 上手动运行 tomcat 之前,我确实遇到了同样的错误。不同之处在于,当我手动运行 tomcat 时,它确实记录了访问权限错误,而 eclipse 会提示端口的使用情况。

我已经修改了 eclipse tomcat 启动器以包含选项“-Djava.net.preferIPv4Stack=true”并将 tomcat 启动为“authbind --deep start”

但我总是得到同样的错误。

如果我以 root 身份启动 eclipse,它们工作正常,所以我相信问题与端口 80 上的访问权限有关,而不是与要使用的端口有关。

我确实假设 eclipse 以用于启动 eclipse 的相同用户权限启动 tomcat。

有人可以提供一些支持吗?。我可以通过使用端口转发来工作,但我真的很想知道我缺少什么以及如何正确地做到这一点。

最佳答案

最简单的方法是在端口8080上使用监听器启动tomcat,并将端口80转发到localhost:8080:

ssh -L 80:localhost:8080 <user>@localhost

使用 sudo 执行此命令

关于linux - 从 80 端口的 Eclipse 启动 Tomcat ( Linux ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723040/

相关文章:

linux - 'git svn' 不再启动 git-svn

java - android 在同一布局上设置的 webview 之间切换

c++ - Eclipse项目中的OSCPack外部库测试用例

java - Spring/Tomcat 中的动态类加载

java - 为什么32位CPU/OS/Java上的Tomcat 7比64位上的Tomcat 7慢得多?

c++ - 相当于 gcc/g++ 中的 __declspec( naked )

linux - awk的系统命令

C 控制台输出不连续,等待程序完成

tomcat - IIS 7.5 和 ColdFusion 10 的 SES 问题

windows - 如何在纹理上的 3d 空间中显示 windows/X 窗口系统窗口?