Linux
在 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 on
,gzip_http_version 1.0
等),但沒有任何樂趣。據我所知,我只能假設 nginx 是使用壓縮支持編譯的,但如果有任何方法可以驗證這一點,我很想知道。
如果有人看到我遺漏的任何內容或可以建議進一步調試,請告訴我。我不是系統管理員,而且我是 Nginx 的新手,所以我已經用盡了所有我能想到或讀過的東西。
謝謝。
如果 nginx 沒有抱怨
gzip on;
在你的配置文件中,那麼它是用 gzip 模組編譯的。預設情況下,它只壓縮 text/html 響應。如果要壓縮其他任何內容(css、js 等),則需要配置gzip_types 。