nginx启用pagespeed加速站点访问,阿里云已测试可用-kb88凯时官网登录

时间:2018-12-09
阅读:
免费资源网 - https://freexyz.cn/

1、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规则。

2、下载解压pagespeed模块

cd /usr/local/src/
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.9.32.6-beta.zip
unzip -q release-1.9.32.6-beta
wget https://dl.google.com/dl/page-speed/psol/1.9.32.6.tar.gz
tar xzf 1.9.32.6.tar.gz -c ngx_pagespeed-release-1.9.32.6-beta #解压出来的psol文件夹到上面release-1.9.32.6-beta文件夹内

3、然后到nginx源码目录,添加以下代码重新编译nginx
./configure 最后面 添加 --add-module=../ngx_pagespeed-release-1.9.32.6-beta/
make即可
编译之后会在nginx/objs文件夹内生成一个新的nginx
替换原有/usr/local/nginx/sbin下的nginx即可最后重启或者重载下nginx

4、配置nginx中的ngx_pagespeed模块
pagespeed过滤器,有两种不同的级别可供你选择:corefilters和passthrough。除非有所指定,否则默认情况下使用corefilters。
使用corefilters

server { 
# 侦听的端口 
listen 80; 
# 名称 
server_name bo-jin.com www.bo-jin.com; 
# 记下根目录 
root /usr/local/nginx/html; 
# 访问日志 
access_log /var/log/nginx/access.log main; 
# 启用ngx_pagespeed 
pagespeed on; 
pagespeed filecachepath /var/ngx_pagespeed_cache; 
# 启用corefilters 
pagespeed rewritelevel corefilters; 
# 禁用corefilters中的某些过滤器 
pagespeed disablefilters rewrite_images; 
# 选择性地启用额外的过滤器 
pagespeed enablefilters collapse_whitespace; 
pagespeed enablefilters lazyload_images; 
pagespeed enablefilters insert_dns_prefetch; 
}

对高级用户而言:使用passthrough

server { 
# 侦听的端口 
listen 80; 
# 服务器名称 
server_name xmodulo.com www.xmodulo.com; 
# 记下根目录 
root /usr/local/nginx/html; 
# 访问日志 
access_log /var/log/nginx/access.log main; 
# 启用ngx_pagespeed 
pagespeed on; 
pagespeed filecachepath /var/ngx_pagespeed_cache; 
# 禁用corefilters 
pagespeed rewritelevel passthrough; 
# 启用压缩空白过滤器 
pagespeed enablefilters collapse_whitespace; 
# 启用javascript库卸载 
pagespeed enablefilters canonicalize_javascript_libraries; 
# 把多个css文件合并成一个css文件 
pagespeed enablefilters combine_css; 
# 把多个javascript文件合并成一个javascript文件 
pagespeed enablefilters combine_javascript; 
# 删除带默认属性的标签 
pagespeed enablefilters elide_attributes; 
# 改善资源的可缓存性 
pagespeed enablefilters extend_cache; 
# 更换被导入文件的@import,精简css文件 
pagespeed enablefilters flatten_css_imports; 
pagespeed cssflattenmaxbytes 5120; 
# 延时加载客户端看不见的图片 
pagespeed enablefilters lazyload_images; 
# 启用javascript缩小机制 
pagespeed enablefilters rewrite_javascript; 
# 启用图片优化机制 
pagespeed enablefilters rewrite_images; 
# 预解析dns查询 
pagespeed enablefilters insert_dns_prefetch; 
# 重写css,首先加载渲染页面的css规则 
pagespeed enablefilters prioritize_critical_css; 
}

5、建立缓存文件夹并赋予nginx用户权限

sudo mkdir /var/ngx_pagespeed_cache 
sudo chown www:www /var/ngx_pagespeed_cache
免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图