在 Debian 上给 Tomcat 开启 Gzip 压缩,本质就是修改 Tomcat 的 connector 配置。下面以常见版本(Tomcat 8/9/10)为例说明。
通常路径为:
/etc/tomcat9/server.xml
# 或
/opt/tomcat/conf/server.xml
用 root 或 sudo 编辑:
sudo nano /etc/tomcat9/server.xml
找到 <Connector> 节点(一般是 8080 端口那个),加上 Gzip 相关参数:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml" />
compression="on":开启 GzipcompressionMinSize="2048":大于 2KB 才压缩compressableMimeType:需要压缩的 MIME 类型noCompressionUserAgents:不压缩的客户端(可省略)sudo systemctl restart tomcat9
# 或
sudo service tomcat restart
curl -H "Accept-Encoding: gzip" -I http://localhost:8080/
看到:
Content-Encoding: gzip
说明成功。
Content-Encoding: gzip如果 Tomcat 前面有 Nginx,建议在 Nginx 开 Gzip,Tomcat 可保持默认。
AJP(8009)一般不做 Gzip,由前端处理。
在 application.properties:
server.compression.enabled=true
server.compression.min-response-size=2KB
server.compression.mime-types=text/html,text/css,application/json
如果你告诉我 Tomcat 版本 / 是否有 Nginx / 是否 Spring Boot,我可以给你更精确配置。