Linux

在 Nginx 上啟用 gzip

  • August 30, 2012

是的,我知道還有很多其他的問題看起來就像這樣。我想我一定看過所有這些。兩次。絕望中,我添加了另一個,以防我的特定配置是問題。忍受我。

首先,問題是:我需要做什麼才能使 gzip 壓縮工作?

我安裝了執行 nginx 1.1.19 的 Ubuntu 12.04 伺服器。Nginx 安裝了以下軟體包:

nginx
nginx-common
nginx-full

我的httpnginx.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 的新手,所以我已經用盡了所有我能想到或讀過的東西。

謝謝。

如果 nginx 沒有抱怨gzip on;在你的配置文件中,那麼它是用 gzip 模組編譯的。預設情況下,它只壓縮 text/html 響應。如果要壓縮其他任何內容(css、js 等),則需要配置gzip_types 。

引用自:https://serverfault.com/questions/422935