Nginx 安装pagespeed为网页加速

PageSpeed是一个由谷歌开发的网站服务器模块https://developers.google.com/speed/pagespeed/module PageSpeed旨在缩短网页加载的时间,减少网站服务器的带宽使用量。Google官方介绍通常情况下PageSpeed大约能帮助节省25%-37%的带宽,当然这个得看是什么内容,有些内容是不能压缩的。

PageSpeed的功能特性:
PageSpeed模块可以使用数量众多的重写”过滤器”,每个过滤器都可以选择性地开启/关闭,从而自动进行各种优化(比如,减小文档大小、减少HTTP请求数据、减少HTTP往返次数以及缩短DNS解析时间)。
下面是ngx_pagespeed支持的其中一些过滤器。想了解支持的全部过滤器,请参阅官方文档。
Collapse Whitespace(压缩空白):通过把HTML网页中的多处连续空白换成一处空白,减少带宽使用量。
Canonicalize JavaScript Libraries(规范化转换JavaScript库):通过自动把流行的JavaScript库换成免费托管的JavaScript库(比如由谷歌托管),减少带宽使用量。
Combine CSS(合并CSS):通过把多个CSS文件合并成一个CSS文件,减少HTTP请求数量。
Combine JavaScript(合并JavaScript):通过把多个JavaScript文件合并成一个JavaScript文件,减少HTTP请求数量。
Elide Attributes(省略属性):通过删除由默认属性指定的标签,缩小文档大小。
Extend Cache(扩展缓存):通过优化网页资源的可缓存性,减少带宽使用量。
Flatten CSS Imports(精简CSS导入):通过删除CSS文件中的@import,减少HTTP请求往返次数。
Lazyload Images(延时加载图片):延时加载在客户端浏览器上看不见的图片。
Minify JavaScript(缩小JavaScript):通过缩小JavaScript,减少带宽使用量。
Optimize Images(优化图片):通过引入更多的内嵌图片、压缩图片,或者将GIF图片转换成PNG图片,优化图片分发。
Pre-Resolve DNS(预解析DNS):通过预解析DNS,缩短DNS解析时间。
Prioritize Critical CSS(优化加载关键CSS规则):重写CSS文件,以便首先加载渲染页面的CSS规则。
ngx_pagespeed模块并未内置在随主要Linux发行版(比如Fedora 19)发布的Nginx程序包中。因而,想使用Nginx中的PageSpeed,你需要利用源代码来构建Nginx。

cd /home/src
NPS_VERSION=1.9.32.6
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip
unzip release-${NPS_VERSION}-beta.zip
cd ngx_pagespeed-release-${NPS_VERSION}-beta/
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
tar -xzvf ${NPS_VERSION}.tar.gz # extracts to psol/

cd /home/src
wget http://nginx.org/download/nginx-1.9.3.tar.gz
tar -xvzf nginx-1.9.3.tar.gz
cd nginx-1.9.3
./configure –add-module=../ngx_pagespeed-release-${NPS_VERSION}-beta
make
sudo make install

pagespeed可以全局设置,写到nginx.conf的http段里面,也可以写到server段甚至是location里面,非常灵活

通常作为论坛的配置:
pagespeed On;
pagespeed FileCachePath “/dev/shm/”;
pagespeed Disallow “*.html”;##做了rewite的论坛必须启用,否则会段时间内产生大量缓存文件
pagespeed Disallow “*.php*”;
pagespeed RewriteLevel OptimizeForBandwidth;
pagespeed EnableFilters combine_css,combine_javascript,canonicalize_javascript_libraries,collapse_whitespace,convert_meta_tags,dedup_inlined_images,flatten_css_imports,inline_import_to_link,inline_css,inline_javascript,rewrite_javascript,remove_comments,rewrite_css,rewrite_images,convert_gif_to_png,recompress_png,convert_jpeg_to_progressive,strip_image_color_profile,strip_image_meta_data,insert_image_dimensions,extend_cache,move_css_to_head,sprite_images;

更多具体配置请查看官方文档:
https://developers.google.com/speed/pagespeed/module/configuration


发表回复