2013-02-24 109 views
3

我已經在我的tomcat7 server.xml中使用下面的設置啓用壓縮:Tomcat7壓縮JS/CSS

<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%)。

+0

任何解決方案?我也有同樣的問題。 – bashan 2014-07-24 16:01:33

+0

我最終使用Apache HTTPD與pagespeed模塊 – 2014-07-24 20:21:46

+0

謝謝:)我需要一個解決方案與Tomcat ... – bashan 2014-07-26 08:45:16

回答

2

所有未壓縮的CSS/JS文件都比較大嗎?也許這些是通過「sendfile」發送的,從而避免被壓縮。

在文檔:

「注意:有使用壓縮(保存 帶寬),並使用了sendfile功能(節省你的CPU週期)之間的權衡。如果 連接器支持sendfile的功能,例如NIO連接器, 使用sendfile將優先於壓縮。症狀 將是靜態文件大於48 Kb將被髮送 未壓縮。您可以通過設置連接器的useSendfile 屬性關閉sendfile,如下所述,或更改 默認配置中的DefaultServlet 012xx默認conf/web.xml或web應用程序的web.xml中的sendfile使用率閾值。「

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

設置在你的配置:

useSendfile="false" 
+0

不,我也有小文件的問題。無論如何,我已經添加了這一行,並設置壓縮=「強制」,我仍然得到同樣的問題。 – 2013-02-24 23:09:26