在 Nginx 上启用 gzip

在 Nginx 上启用 gzip

是的,我知道还有很多其他问题与此类似。我想我一定已经看过了所有问题。两次。无奈之下,我又加了一个,以防我的特定配置有问题。请耐心等待。

首先,问题是:我需要做什么才能使 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 ongzip_http_version 1.0等等),但没有成功。

据我所知,我只能假设 nginx 是在压缩支持下编译的,但如果有任何方法可以验证这一点,我很想知道。

如果有人发现我遗漏了什么或可以建议进一步调试,请告诉我。我不是系统管理员,而且我是 Nginx 新手,所以我已经用尽了所有我能想到或读到的东西。

谢谢。

答案1

如果 nginx 没有抱怨gzip on;您的配置文件,则说明它已使用 gzip 模块进行编译。默认情况下,它仅压缩文本/html 响应。您需要配置gzip_类型如果您想压缩其他任何内容(css、js等)。

相关内容