简体   繁体   English

Tomcat是否需要Apache httpd?

[英]Does Tomcat require Apache httpd?

If I am given a war file that contains a Java web application, and I want to run that war locally, then do I just need Tomcat, or do I need Tomcat and Apache httpd (or any other web server)? 如果给我一个包含Java Web应用程序的war文件,并且我想在本地运行该war,那么我只需要Tomcat,还是需要Tomcat Apache httpd(或任何其他Web服务器)? Thanks in advance! 提前致谢!

Tomcat is a web server of its own, so a separate web server like Apache is not required. Tomcat是它自己的Web服务器,因此不需要像Apache这样的单独的Web服务器。 You probably will want to change Tomcat's port though, since it defaults to 8080 and web sites are usually on port 80. 您可能希望更改Tomcat的端口,因为它默认为8080,网站通常在端口80上。

I think people generally put Apache in front of Tomcat so they can do things like: 我认为人们通常会将Apache放在Tomcat之前,以便他们可以做以下事情:

  • Have one website have several Tomcat instances behind it. 有一个网站背后有几个Tomcat实例。
  • Serve static files from Apache to take load off of Tomcat. 从Apache提供静态文件以从Tomcat中卸载。
  • Use other Apache features you may need (modules). 使用您可能需要的其他Apache功能(模块)。
  • As @TacticalCoder mentions in the comments, you need to be root to listen on port 80, so some people may be using Apache as an easy way to proxy port 80 to port 8080. 正如@TacticalCoder在评论中提到的那样,你需要成为root用户才能收听端口80,因此有些人可能会使用Apache作为将端口80代理到端口8080的简单方法。

I'd recommend the YAGNI approach and just go with Tomcat until/unless you find a reason you want Apache in front of it. 我建议使用YAGNI方法,然后直到Tomcat,直到/除非你找到一个理由让你想要Apache。

Just Tomcat. 只是汤姆猫。 HTTPD is never a requirement for Tomcat. HTTPD永远不是Tomcat的要求。

Tomcat是一个servlet容器,它有自己的http服务器,所以如果你想运行一个war,你只需要一个tomcat,但如果你想运行一个只包含静态文件(html,js,css)的网站,你应该选择apache更好,即使tomcat可以做到这一点

您只需要Tomcat或任何其他Java servlet容器(Jetty,resin等)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM