Tomcat7如何压缩JS/CSS文件

3
我已在我的tomcat7 server.xml中使用以下设置启用了压缩:

我已在我的tomcat7 server.xml中使用以下设置启用了压缩:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/json,text/javascript,text/css,text/plain,
application/javascript,application/xml,application/xml+xhtml"
/>

我已经检查了压缩功能,使用以下链接可以确认:http://www.whatsmyip.org/http-compression-test/ 然而,PageSpeed仍然报告有几个CSS/JS文件没有被压缩。 例如: 压缩http://www.mysite.co.uk/css/bootstrap.css可以节省109.5KiB(减少84%)。

有任何解决方案吗?我也遇到了同样的问题。 - bashan
我最终使用了带有pagespeed模块的Apache HTTPD。 - DD.
谢谢 :) 我需要一个Tomcat的解决方案... - bashan
1个回答

2
所有未压缩的CSS/JS文件是否都相对较大?也许这些文件是通过“sendfile”发送的,因此避免了被压缩。根据文档:“注意:在使用压缩(节省带宽)和使用sendfile功能(节省CPU周期)之间存在权衡。如果连接器支持sendfile功能,例如NIO连接器,则使用sendfile将优先于压缩。症状将是发送未压缩的静态文件大于48 KB。您可以通过设置连接器的useSendfile属性(如下文所述)关闭sendfile,或在默认conf/web.xml或Web应用程序的web.xml中更改DefaultServlet配置中的sendfile使用阈值。”http://tomcat.apache.org/tomcat-6.0-doc/config/http.html在您的配置中进行设置:
useSendfile="false"

我遇到的问题也存在于较小的文件中。我已经添加了那行代码,并将compression="force"设置为强制压缩,但仍然遇到相同的问题。 - DD.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接