温馨提示×

debian Tomcat怎么开启Gzip

小樊
51
2026-09-06 14:19:54
栏目: 智能运维

在 Debian 上让 Tomcat 开启 Gzip 压缩,主要是通过修改 Tomcat 的 server.xml 配置 HTTP 连接器(Connector)来实现。下面以常见版本(Tomcat 8/9/10)为例说明。


一、找到 Tomcat 配置文件

通常位置如下(根据你的安装方式可能不同):

  • apt 安装:
    /etc/tomcat9/server.xml
  • 官方二进制包:
    /opt/tomcat/conf/server.xml

二、修改 Connector 开启 Gzip

编辑 server.xml,找到 HTTP Connector(一般是 8080 端口):

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

改成下面这样(关键参数是 compression 相关):

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

参数说明

  • compression="on":开启 Gzip
  • compressionMinSize:超过该大小才压缩(字节)
  • compressableMimeType:需要压缩的 MIME 类型
  • noCompressionUserAgents:不压缩的客户端(可选)

三、重启 Tomcat

apt 安装的 Tomcat

systemctl restart tomcat9

二进制安装的 Tomcat

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

四、验证 Gzip 是否生效

方法 1:curl 测试

curl -H "Accept-Encoding: gzip" -I http://localhost:8080/

看到:

Content-Encoding: gzip

说明成功。

方法 2:浏览器

打开开发者工具 → Network → 查看响应头:

Content-Encoding: gzip

五、注意事项

  1. 静态资源:Tomcat 自身 Gzip 对静态文件也有效
  2. 反向代理(Nginx/Apache)
    如果前面有 Nginx,建议在 Nginx 开启 Gzip,Tomcat 可关闭
  3. HTTPS 同样适用,配置方式一致

如果你用的是 Nginx + TomcatTomcat 特定版本,可以告诉我,我可以给你更精确配置。

0