我有一个VPS,我想安装一个用于生产的Web应用程序。
目前,它适用于使用AJP模块通过Apache Server连接的Tomcat 6。
每件事情都可以,但我想知道将Tomcat配置为主要的Web服务器是否是一个好主意,因为我们只会运行JSP应用程序。
仅供参考:服务器必须处理 https 请求。
提前致谢。
答案 0 :(得分:2)
多年前,很多错误信息反对直接使用Tomcat作为网络服务器,但实际上Tomcat的效果非常好。
我已经在各种项目中使用了几乎所有版本的Tomcat,尽管它们的数量都相对较少。永远不要让我失望 - 好吧,WebDAV模块永远不会正常工作。但除了Tomcat之外,静态内容以及动态servlet工作都是快速可靠的。
Apache HTTP Server(“httpd”)当然非常先进并且功能齐全。如果您需要这些功能,请使用httpd。如果您的流量非常大,那么请使用httpd。如果你有大量的静态访问,并希望减轻Tomcat的职责,从而让Tomcat将其性能集中在你的servlet上,那么就使用httpd。如果您想在上下移动Tomcat时保持正面的网站运行,请使用httpd。但对于大多数相对简单的网站或简单的网络应用程序,Tomcat就足够了。
我建议你单独尝试Tomcat,看看它是怎么回事。从您的开发和测试系统开始。查看httpd的配置文件,看看是否可以使用Tomcat功能重现其所有功能。如果一切正常,那就做一些负载测试。要么破解你自己的一些负载测试,要么尝试任何一个负载测试框架。
虽然您可以将Web应用程序热部署到Tomcat,但并不总是建议在生产中使用(我不确定当前版本)。规划如何处理关闭Tomcat以部署更新的应用程序并执行维护工作。
您说您正在使用Tomcat 6.您可能需要考虑转移到Tomcat 7或8,但请查看发行说明。
还要考虑Jetty,这是Tomcat最直接的竞争对手/替代方案。 Jetty在目的,功能范围和声誉方面与Tomcat非常相似。
答案 1 :(得分:1)
如果您正在使用SSL,那么前面的Apache HTTPD将获得以下好处:
还有许多其他好处,例如:
我多年来一直使用独立的Tomcats,但是即使是干净的工作项目,我也不会回头。
答案 2 :(得分:0)
我认为两者都不是更好,这取决于您的要求。在您可能必须在异构后端(IIS,Tomcat等)中横向解决安全性或日志记录要求的环境中,Apache是您的朋友(或昂贵的负载均衡器)。
假设您没有这些要求,我不知道将Apache用于Apache的任何优势。
在Tomcat中可以轻松配置SSL,而且这些天的性能可能与Apache相当,并且可以通过APR进行改进。