如果给我一个包含 Java Web 应用程序的 war 文件,并且我想在本地运行该 war,那么我只需要 Tomcat,还是需要 Tomcat 和 Apache httpd(或任何其他网络服务器)?提前致谢!
最佳答案
Tomcat 本身就是一个 Web 服务器,因此不需要像 Apache 这样的单独 Web 服务器。不过,您可能需要更改 Tomcat 的端口,因为它默认为 8080,而网站通常位于端口 80。
我认为人们通常将 Apache 放在 Tomcat 前面,以便他们可以执行以下操作:
- 让一个网站背后有多个 Tomcat 实例。
- 从 Apache 提供静态文件以减轻 Tomcat 的负载。
- 使用您可能需要的其他 Apache 功能(模块)。
- 正如@TacticalCoder 在评论中提到的那样,您需要是 root 才能监听端口 80,因此有些人可能会使用 Apache 作为将端口 80 代理到端口 8080 的简便方法。
我推荐 YAGNI接近并只使用 Tomcat,直到/除非你找到一个你想要 Apache 放在它前面的原因。
关于java - Tomcat 是否需要 Apache httpd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419207/