在Nginx安裝完成以後,咱們能夠開啓Gzip壓縮功能,這裏Nginx默認只能對text/html類型的文件進行壓縮。下面的指令爲開啓Gzip的指令:javascript
gzip on; gzip_http_version 1.0; gzip_disable "MSIE [1-6]."; gzip_types text/plain application/x-javascript text/css text/javascript;
若是要可以是Nginx開啓圖片壓縮功能,在配置文件中添加以下代碼:php
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png;
這裏須要注意一下:css
1.在gzip_http_version的默認值是1.1,就是說對HTTP/1.1協議的請求才會進行gzip壓縮。
若是使用了proxy_pass進行反向代理,那麼nginx和後端的upstream server之間是用HTTP/1.0協議通訊的
若是使用nginx經過反向代理作Cache Server,前端的nginx沒有開啓gzip,且後端的nginx上未設置gzip_http_version爲1.0,那麼Cache的url將不會被gzip壓縮。html
2.gzip_disable的設置是禁用IE6的gzip壓縮
IE6的某些版本對gzip的壓縮支持不是很好,會形成頁面的假死。
對img進行gzip後會形成IE6的假死,把對img的gzip壓縮去掉後就正常了。
爲了確保其它的IE6版本不出問題,因此加上了gzip_disable配置項。前端
gzip_min_length 1000;
設置容許壓縮的頁面最小字節數,頁面字節數從header頭中的Content-Length中進行獲取。java
默認值是0,無論頁面多大都壓縮。
建議設置成大於1k的字節數,小於1k可能會越壓越大。 即: gzip_min_length 1024nginx
gzip_proxied expired no-cache no-store private auth;
Nginx做爲反向代理的時候啓用,開啓或者關閉後端服務器返回的結果,匹配的前提是後端服務器必需要返回包含」Via」的 header頭。後端
自用版以下服務器
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on; gzip_disable "MSIE [1-6]\.";