http://blog.csdn.net/wang_159369/article/details/8107163

tomcat5.0以后的版本是支持对输出内容进行gzip格式的压缩的。该功能默认是关闭的,如果需要启用该功能,我们需要修改tomcat的配置文件server.xml,修改的方法是在server.xml的节点

处加上属性:  compression=”on”  ,即

下面是tomcat5.5.20 中的$tomcat_home$/conf/server.xml的原内容

1  < Connector port ="80" maxHttpHeaderSize ="8192"
2 maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
3 enableLookups ="false" redirectPort ="8443" acceptCount ="100"
4 connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" />
5 <!-- Note : To disable connection timeouts, set connectionTimeout value
6 to 0 -->
7
8 <!-- Note : To use gzip compression you could set the following properties :
9
10 compression="on"
11 compressionMinSize="2048"
12 noCompressionUserAgents="gozilla, traviata"
13 compressableMimeType="text/html,text/xml"
14 -->

从上面的第8行内容可以看出,要使用gzip压缩功能,你可以在Connector实例中加上如下属性即可
1) compression=”on” 打开压缩功能
2) compressionMinSize=”2048″ 启用压缩的输出内容大小,这里面默认为2KB
3) noCompressionUserAgents=”gozilla, traviata” 对于以下的浏览器,不启用压缩 
4)  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/png,image/jpg,image/gif" 压缩类型

对于某些文本文件比如:log、txt等文件,我们也可以让服务器采用gzip压缩传输,修改conf目录下web.xml,添加

<mime-mapping>
         <extension>log</extension>
         <mime-type>text/plain</mime-type>
</mime-mapping>

等,就可以指定压缩传输了。通常情况下,压缩传输能大幅度提高展示速度。

Nginx和Tomcat同时启用GZIP的后果:

http://www.iteye.com/topic/1118087

新部署的一台服务器在做了性能调优以后发现FCK在线编辑器IE、firefox都出现报错,只有chrome正常。百思不得其解,差点就把FCK换掉。经过千辛万苦终于找到了原因(本人找错误原因的运气一直都非常好):

开始以为是脚本乱码,看了文件头的那段注释以后确认不是这个问题。

在firefox的firedebug上面看到的脚本一直报找不到对象的错误,难道是公司的网络龟速导致脚本加载顺序不协调所致?几次刷新以后问题还在,304状态码说明不是网络龟速的原因。

最后把FCK的javascript脚本下载到本地以后一看,只有20k左右,而完整的是249K,看来我找到原因了~~

还是百思不得其解,好好的静态脚本文件为什么会下载了一部分就完了呢?而且首次下载的状态码是200,之后的刷新都是304,这违反了我对HTTP状态码的理解。

撇开前端的Nginx,直接访问tomcat居然页面就正常了。so~问题在nginx。nginx处理静态资源的能力从来都没有怀疑过(这再次违反了我对XXX的理解)。

灵光一闪,前后端的服务器最近都进行了调优,难道是这次修改了 配置文件导致的?so首先关闭nginx的gzip  off;,重启Nginx后全世界正常了。随后关闭后端tomcat的compression="off",重新启用Nginx的gzip,问题终于解 决了。

总结:多层服务器结构的系统启用gzip压缩要注意一个问题:前端服务器启用了gzip以后,后端的服务器就不要启用gzip压缩了,不然部分浏览器会下载到不完整的文件。

tomcat服务器开启gzip功能的方法的更多相关文章

  1. 客户端代码压缩成zip和服务器开启gzip

     1.我说的zip是打包完的js代码,用压缩工具压缩为zip文件,这样放CDN上,下载量会进一步缩小,提高进入游戏的速度   嗯,需要在游戏页用js解压zip文件  2.最简单的就服务器开启gzip 

  2. Apache2.4开启GZIP功能

    HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的 ...

  3. linux服务器的Gzip文件压缩方法[转]

    一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...

  4. linux的tomcat服务器上部署项目的方法

    在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  to ...

  5. 记录tomcat服务器开启关闭时间

    1.IO流 package com.zy.exercise; import java.io.File; import java.io.FileNotFoundException; import jav ...

  6. Apache服务器开启gzip压缩的支持

    为什么要在服务器上开启压缩?其实,服务器上开启压缩,对整个网站的就是在服务器上把网页的内容压缩后传给客户端,客户端解压后再显示网页的内容.实际就是增加了服务器端和客户端的工作量,减少了网络传输的数据量 ...

  7. 关于windows 7系统下开启休眠功能的方法

    今天笔者新装了一个windows 7操作系统,装完后,点击开始按钮.鼠标放到关机处的左边扩展选项时,没有发现休眠选项. 于是开始上网查询解决方法,并将过程记录如下: 首先简单的介绍一下休眠功能:休眠( ...

  8. Tomcat 服务器开启失败故障

    Server Tomcat v8.0 Server at localhost failed to start.故障 原因:1.可能是web.xml中的filter-mapping中url-patter ...

  9. 启动Tomcat服务器端口被占用解决方法

    Caused by: java.net.BindException: Address already in use: bind 1.输入 netstat -ano|findstr 8080,回车,显示 ...

随机推荐

  1. FastReport.Net使用:[5]主从表

    主从报表在日常生活中也很常用,譬如订单,班级学生报表等.下面以学生选课为例,以学生为主表,选课为从表做一学生选课报表. 绘制简单主从报表 1.绘制报表标题. 2.为数据区添加从表. ●可以直接右键数据 ...

  2. Redis_常用5大数据类型简介

    前面介绍了一些redis的的基本配置,以及安装,本文继续学习redis的五大数据类型. 一.Redis的五大数据类型 String(字符串).List(列表).Set(集合).Hash(哈希,类似ja ...

  3. android 启动流程

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha adb shell 后  用 ps 命令 回车 可以看到 运行的进程. 如下结果: ct ...

  4. input file实现多次上传文件(不会覆盖上次上传的文件)

    html原生的file多选控件:<input class="className" type="file" name="name" ac ...

  5. BZOJ1038 瞭望塔

    学习了半平交面. 我这里写的是训练指南中的双端队列,每次判断是否删去更优然后更新. 看hzwer中有一处不太明白就是为何要将两段加入队列 后来对拍出错才知道是因为精度,当两线重合时他们叉积返回值是一个 ...

  6. [BZOJ4423][AMPPZ2013]Bytehattan(对偶图+并查集)

    建出对偶图,删除一条边时将两边的格子连边.一条边两端连通当且仅当两边的格子不连通,直接并查集处理即可. #include<cstdio> #include<algorithm> ...

  7. Android UI设计规范之知识点

    界面尺寸 android的尺寸众多,建议使用分辨率为720×1280的尺寸设计.这个尺寸720×1280中显示完美,在1080×1920中看起来也比较清晰;切图后的图片文件大小也适中,应用的内存消耗也 ...

  8. Apache URLRewrite 原理及配置实现

    看一下网站上的一些 URL.您是否发现一些类似于 http://yoursite.com/info/dispEmployeeInfo. ... 99&type=summary的 URL?或者, ...

  9. poj 1456 贪心+STL

    题意:有n个商品,每个商品如果能在截止日期之前售出就会获得相应利益,求能获得的最大利益 一开始对每个时间进行贪心,后来发现后面的商品可以放到之前来卖,然后就wa了 这里就直接对价格排序,把物品尽量放到 ...

  10. Ubuntu14.04和Tiny6410挂载NFS服务!

    我是以root身份登录Ubuntu的: 在Ubuntu上执行   #apt-get install nfs-kernel-server    //安装NFS服务 在Ubuntu上执行   #mkdir ...