我正在使用独立的 tomcat。现在我发现 tomcat 开始使用比我预期更多的内存。从 tomcat 提供静态文件可能是导致这种情况的原因?或者从 apache 提供静态文件是否会导致更好的内存使用。
谢谢埃内斯
答案1
如果您需要共享静态内容(HTML、图像、CSS、PDF 等...),则可以使用 Apache。
我认为它比 Tomcat 更易于配置、更强大,而且速度更快。您必须知道,当您使用 Apache 提供 100% 静态文件时,每个 httpd 进程将使用大约 2-3 MB 的 RAM。
您是否考虑过使用像thttpd?
答案2
是的!感谢 mod_jk (http://tomcat.apache.org/connectors-doc/index.html)您可以告诉 Apache 为您的应用程序提供某些部分,这样它肯定会更好地服务。我考虑的是图片之类的静态内容。以下是 mod_jk 连接器的基本设置:
< 虚拟主机 *>
ServerName your name
DocumentRoot /home/tomcat/
ErrorLog /var/log/apache2/application-error.log
TransferLog /var/log/apache2/app-access.log
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
JkMount /* ajp13_worker
JkUnMount /img ajp13_worker
JkUnMount /css ajp13_worker
JkUnMount /js ajp13_worker
</虚拟主机>
请注意,借助 JkUnMount 指令,您可以告诉 mod_jk 让 Apache 处理应用程序的某些部分。此外,输入以下内容总是更好/更简单
yoursite.com 比 yoursite.com:8080