Tomcat是否需要Apache httpd?

IAm*_*aja 32 java apache webserver tomcat war

如果给我一个包含Java Web应用程序的war文件,并且我想在本地运行该war,那么我只需要Tomcat,还是需要Tomcat Apache httpd(或任何其他Web服务器)?提前致谢!

Rei*_*ica 44

Tomcat是它自己的Web服务器,因此不需要像Apache这样的单独的Web服务器.您可能希望更改Tomcat的端口,因为它默认为8080,网站通常在端口80上.

我认为人们通常会将Apache放在Tomcat之前,以便他们可以做以下事情:

  • 有一个网站背后有几个Tomcat实例.
  • 从Apache提供静态文件以从Tomcat中卸载.
  • 使用您可能需要的其他Apache功能(模块).
  • 正如@TacticalCoder在评论中提到的那样,你需要成为root用户才能收听端口80,因此有些人可能会使用Apache作为将端口80代理到端口8080的简单方法.

我建议使用YAGNI方法,然后直到Tomcat,直到/除非你找到一个理由让你想要Apache.

  • @Bredan Long:*"你可能会想要更改Tomcat的端口"*[原文如此] ......但需要注意的是,在Un*x OS上,你不能在没有*root*的情况下监听端口80/443.但是将Java/Tomcat安装为*root*并不一定是一个好习惯:在Linux上,您可以安装Java而不是*root*.您也可以在不使用*root*的情况下安装Tomcat.然后,作为root,您可以使用防火墙(*例如*iptables)透明地将端口80/443重定向到8080/4443(例如).这通常被认为比运行Tomcat作为*root*并直接侦听端口80/443"更安全". (7认同)
  • 只是想添加这个,因为我在现实生活中很快就遇到过这种情况:如果tomcat中存在安全漏洞,并且tomcat以root身份运行.有人可能会利用此功能,并可以以root用户身份访问您的系统.你现在遇到了大麻烦.如果tomcat以非root用户身份运行,攻击者可能"只"破坏系统的某些有限部分.那可以挽救你的生命...... (3认同)
  • 战术 - 只是出于好奇,你能解释为什么端口重定向比让Tomcat直接监听端口更安全吗? (2认同)

Mik*_*sen 6

只是汤姆猫.HTTPD永远不是Tomcat的要求.