![在 Nginx 上启用 gzip](https://linux22.com/image/594538/%E5%9C%A8%20Nginx%20%E4%B8%8A%E5%90%AF%E7%94%A8%20gzip.png)
是的,我知道还有很多其他问题与此类似。我想我一定已经看过了所有问题。两次。无奈之下,我又加了一个,以防我的特定配置有问题。请耐心等待。
首先,问题是:我需要做什么才能使 gzip 压缩正常工作?
我安装了一台运行 nginx 1.1.19 的 Ubuntu 12.04 服务器。Nginx 安装了以下软件包:
nginx
nginx-common
nginx-full
http
我的区块看起来nginx.conf
像这样:
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
PageSpeed 和 YSlow 都报告我需要启用压缩。我可以看到请求标头指示Accept-Encoding:gzip,deflate,sdch
,但响应标头没有相应的Content-Encoding
标头。
我尝试过各种其他配置值(gzip_vary on
、gzip_http_version 1.0
等等),但没有成功。
据我所知,我只能假设 nginx 是在压缩支持下编译的,但如果有任何方法可以验证这一点,我很想知道。
如果有人发现我遗漏了什么或可以建议进一步调试,请告诉我。我不是系统管理员,而且我是 Nginx 新手,所以我已经用尽了所有我能想到或读到的东西。
谢谢。
答案1
如果 nginx 没有抱怨gzip on;
您的配置文件,则说明它已使用 gzip 模块进行编译。默认情况下,它仅压缩文本/html 响应。您需要配置gzip_类型如果您想压缩其他任何内容(css、js等)。