查看ngix編譯參考,是否啓用了gzip模塊,運行命令:javascript
代碼以下 | 複製代碼 |
/path/to/binary/nginx -V |
(個人nginx在PATH目錄裏,故命令中能夠省略nginx所在的目錄),寫爲nginx -t 便可,下文從略寫
注意其中是否 --with-http_gzip_static_module,若是沒有,那就本身編譯一次吧,下面是個人配置參數,供參考。最後的--add-module=../nginx-lib/nginx-upload-progress-module-v0.9.0/是nginx上傳進度模塊,nginx第三方模塊,源碼放置在../nginx-lib/nginx-upload-progress-module-v0.9.0目錄,若是你沒有下載過該模塊,去掉它就能夠了。php
代碼以下 | 複製代碼 |
nginx version: nginx/1.2.0 |
修改nginx配置文件,nginx配置文件目錄參看nginx配置參數裏的--conf-pathhtml
nginx要修改兩處,在虛擬主機配置段中添加:java
代碼以下 | 複製代碼 |
location ~* ^.+.gzjs$ { |
另外再修改nginx的mime文件,在application/x-javascript js;中添加gzjsnginx
代碼以下 | 複製代碼 |
application/x-javascript js gzjs;vim |
個人配置代碼瀏覽器
代碼以下 | 複製代碼 |
gzip on; |
註解
1.開啓Gzip
2.臨界值小於1k 的文件不壓縮,0爲全壓縮。
3.buffer大小
4.用於識別http協議的版本,早期的瀏覽器不支持gzip壓縮,用戶會看到亂碼,因此爲了支持前期版本加了此選項,目前此項基本能夠忽略
5.壓縮級別,1-9,數字越大壓縮率越高越費CPU。
6.設置須要壓縮的MIME類型,非設置值不進行壓縮。JavaScript 兩種寫法都添加了,網絡圖片自己都是壓縮格式了就再也不壓縮了。
7.加個vary頭,給代理服務器用的,有的瀏覽器支持壓縮,有的不支持。所以,爲避免浪費不支持的也壓縮,須要根據客戶端的HTTP頭來判斷,是否須要壓縮。
測試
代碼以下 | 複製代碼 |
curl -I http://www.111cn.net/ -H Accept-Encoding:gzip,defalte |
下在補充
#nginx開啓gzip壓縮,放在location內
代碼以下 | 複製代碼 |
gzip on; |
環境:Debian 6
一、Vim打開Nginx配置文件
代碼以下 | 複製代碼 |
vim /usr/local/nginx/conf/nginx.conf |
二、找到以下一段,進行修改
代碼以下 | 複製代碼 |
gzip on; |
用curl測試Gzip是否成功開啓
curl -I -H "Accept-Encoding: gzip, deflate" "/blog/"
HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:13:09 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.2.17p1
X-Pingback: /blog/xmlrpc.php
Content-Encoding: gzip
頁面成功壓縮
curl -I -H "Accept-Encoding: gzip, deflate" "/blog/wp-content/plugins/photonic/include/css/photonic.css"
HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:21:25 GMT
Content-Type: text/css
Last-Modified: Sun, 26 Aug 2012 15:17:07 GMT
Connection: keep-alive
Expires: Mon, 27 Aug 2012 06:21:25 GMT
Cache-Control: max-age=43200
Content-Encoding: gzip
css文件成功壓縮
curl -I -H "Accept-Encoding: gzip, deflate" "/blog/wp-includes/js/jquery/jquery.js"
HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:21:38 GMT
Content-Type: application/x-javascript
Last-Modified: Thu, 12 Jul 2012 17:42:45 GMT
Connection: keep-alive
Expires: Mon, 27 Aug 2012 06:21:38 GMT
Cache-Control: max-age=43200
Content-Encoding: gzip
js文件成功壓縮
curl -I -H "Accept-Encoding: gzip, deflate" "/blog/wp-content/uploads/2012/08/2012-08-23_203542.png"
HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:22:45 GMT
Content-Type: image/png
Last-Modified: Thu, 23 Aug 2012 13:50:53 GMT
Connection: keep-alive
Expires: Tue, 25 Sep 2012 18:22:45 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip
圖片成功壓縮
curl -I -H "Accept-Encoding: gzip, deflate" "/blog/wp-content/plugins/wp-multicollinks/wp-multicollinks.css"
HTTP/1.1 200 OK Server: nginx/1.0.15 Date: Sun, 26 Aug 2012 18:23:27 GMT Content-Type: text/css Content-Length: 180 Last-Modified: Sat, 02 May 2009 08:46:15 GMT Connection: keep-alive Expires: Mon, 27 Aug 2012 06:23:27 GMT Cache-Control: max-age=43200 Accept-Ranges: bytes