在 Linux 服务器上,在 Apache HTTPD 或 Nginx 等 HTTP 代理后面运行 Apache Tomcat 是否仍然被视为最佳实践?
十年前,有人告诉我这是必要的,因为 Tomcat 3 在提供静态内容方面速度很慢,而且存在稳定性和安全性问题。AJP 是首选的代理方法。
2013 年的 Tomcat 7 更加稳定和安全,而且我提供的任何静态内容都可以通过 CDN 提供。
是否有任何令人信服的理由让 Tomcat 位于另一个 HTTP 服务器后面?我主要是一名开发人员,所以请原谅我的无知!
答案1
从经验来看,独立 Tomcat 没有任何问题。我们从 Apache Tomcat 6 开始就一直这样做。我们甚至用 Tomcat 托管我们的静态网站。只是因为它更简单。我们每天提供几千个页面浏览量。没什么大不了的。大多数时候,Tomcat 进程都很无聊。Tomcat 的一切都是开箱即用的,现在是 APR/native。
您可以使用 Apache + mod_jk 来设置负载平衡器。或者更简单的维护模式。以防您进行滚动更新。
正如 ptman 所建议的那样,尝试一下并对您的用例进行基准测试。