nginx pagespeed配置

记录:项目中遇到将图片支持webp格式,找到可通过 pagespeed 实现。
官方文档:https://github.com/pagespeed/ngx_pagespeed

一、下载安装pagespeed:
cd /usr/local/src

方式1:下载压缩包并解压
wget -O- https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz | tar -xz 
#方式2:下载压缩包
#wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz 
#tar -zxvf  v1.13.35.2-stable.tar.gz

cd incubator-pagespeed-ngx-1.13.35.2-stable/
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
tar -zxvf 1.13.35.2-x64.tar.gz

二、编译nginx:

--------br压缩、http2、openssl-1.1.1g 、trim、pagespeed、--------------
./configure   --add-module=/usr/local/src/ngx_brotli  --with-http_v2_module --with-openssl=/usr/local/src/openssl-1.1.1g  --add-module=/usr/local/src/ngx_http_trim_filter_module --add-module=/usr/local/src/incubator-pagespeed-ngx-1.13.35.2-stable

三、将编译好的nginx配置文件替换项目中的nginx配置文件:

1,关闭nginx:./nginx -s stop (进到/usr/local/openresty/nginx/sbin目录执行)
2,将/usr/local/src/openresty-1.15.8.3/build/nginx-1.15.8/objs下的nginx配置文件复制,到/usr/local/openresty/nginx/sbin即可,记得sbin文件夹下面的nginx备份一下。

四、配置pagespeed:

在https块里面,配置将图片支持webp格式,且只处理图片:

    #开启
    pagespeed on;
    pagespeed FileCachePath /usr/local/openresty/ngx_pagespeed_cache;
    #重置过滤器
    pagespeed RewriteLevel PassThrough;
    #https协议需要添加此行
    pagespeed FetchHttps enable,allow_self_signed,allow_unknown_certificate_authority,allow_certificate_not_yet_valid;
    #开启图片过滤器
    pagespeed EnableFilters rewrite_images;
    #支持webp
    pagespeed EnableFilters convert_gif_to_png,convert_png_to_jpeg,convert_jpeg_to_webp;
    #关闭修改header缓存控制:cache-control。pagespeed默认会修改header的cache-control,将与设置的浏览器缓存功能冲出,需要关闭。
    pagespeed ModifyCachingHeaders off;

图示效果:

浏览器地址后面添加:?PageSpeedFilters=+debug ,以debug模式运行此页面,查看网页源码,可看到:

五、其他配置:

# Rewrite 级别 出于安全考虑 这里尽量不要修改
pagespeed RewriteLevel PassThrough;
#pagespeed RewriteLevel CoreFilters;

# 移除X-Page-Speed 头
#pagespeed DisableFilters add_head;
pagespeed RespectVary off;
#pagespeed ModifyCachingHeaders off;
#pagespeed XHeaderValue "Powered By Pagespeed";
#Header unset X-Mod-Pagespeed;
add_header X-Powered-By "EasyEngine 2.2.3";
 
# 自动去除缩进和页面中的注释  if 注释除外
pagespeed EnableFilters collapse_whitespace,remove_comments;
 
# 去除多余的空格和注释,自动合并多个css,js文件
pagespeed EnableFilters rewrite_css;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters combine_css;
pagespeed EnableFilters combine_javascript;
 
#
pagespeed EnableFilters inline_css;
pagespeed CssInlineMaxBytes 4096;
pagespeed EnableFilters inline_javascript;
pagespeed JsInlineMaxBytes 4096;
 
# 删除带默认属性的标签,改善资源的可缓存性
pagespeed EnableFilters elide_attributes;
pagespeed EnableFilters extend_cache;
 
# 更换被导入文件的@import,精简CSS文件   
pagespeed EnableFilters flatten_css_imports;
pagespeed CssFlattenMaxBytes 5120;
 
#启用图片优化机制 ,延时加载客户端看不见的图片,自动缩放图片到合适大小,自动压缩图片
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters inline_images;
pagespeed EnableFilters lazyload_images;
pagespeed EnableFilters resize_images;
pagespeed EnableFilters recompress_images;
 
# 重写CSS,首先加载渲染页面的CSS规则
pagespeed EnableFilters convert_meta_tags;
pagespeed EnableFilters prioritize_critical_css;
 
# 支持webp
pagespeed EnableFilters convert_gif_to_png;
pagespeed EnableFilters convert_png_to_jpeg;
pagespeed EnableFilters convert_jpeg_to_webp;
 
# 预解析DNS查询   
pagespeed EnableFilters insert_dns_prefetch;
 
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
#location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { }
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }

六、优势:

  • 图像优化:剥离元数据、动态调整,重新压缩
  • CSS和JavaScript压缩、合并、级联、内联
  • 小资源内联
  • 推迟图像和JavaScript加载
  • 对HTML重写、压缩空格、去除注释等
  • 提升缓存周期

作为Nginx组件,ngx_pagespeed将重写你的网页,让用户以更快的速度进行访问。重写的工作包括压缩图片、缩减CSS和JavaScript、扩展缓存时间,同样还包括其它一些最佳实践:

  • 优化缓存----整合应用程序的数据和逻辑
  • 最小化round-trip次数----削减连续的请求/响应周期数
  • 最小化请求开销----削减上传大小
  • 最小化负载大小----削减响应、下载及缓存页面大小
  • 优化浏览器渲染----改善浏览器页面布局
  • 移动方面的优化----优化站点移动网络和设备方面的相关特性
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值