akara 大佬有话说 :
问下大佬们nginx pagespeed的问题
纯小白一个,用宝塔编译的,使用的命令如下
cd /usr/local/src
wget -O- https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz | tar -xz
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
在宝塔上填附加参数–add-module=/usr/local/src/incubator-pagespeed-ngx-1.13.35.2-stable
编译用了300秒(1h1g小鸡),没报错
nginx配置文件里填了这些
#开启
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;
# 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;
均无用,前端的代码似乎一点没变
我的网站:https://loli.zone/
源码:view-source:https://loli.zone/
akara 大佬有话说 :
没有大佬会吗?:'(
翠花 大佬有话说 :
配置完重启nginx了么?
akara 大佬有话说 :
翠花 大佬有话说 : 2020-10-1 23:38
配置完重启nginx了么?
试过重载,试过重启,服务器也重启过了
翠花 大佬有话说 :
本帖最后由 翠花 于 2020-10-1 23:58 编辑
暂时看不出你的配置有何问题,我的也是宝塔。这是我的配置:
第一部分
# 启用ngx_pagespeed 开始
pagespeed on;
pagespeed UseNativeFetcher off;
pagespeed ProcessScriptVariables on;
resolver 223.6.6.6;
pagespeed Disallow "*.php*";
pagespeed FetcherTimeoutMs 300;
pagespeed RewriteDeadlinePerFlushMs 300;
pagespeed FetchWithGzip on;
pagespeed ForceCaching on;
pagespeed Statistics on;
pagespeed StatisticsLogging off;
pagespeed LogDir /www/wwwlogs/pagespeed;
#pagespeed ModifyCachingHeaders off;
#缓存清除,比较方便的管理方式是,通过admin页面管理(自己可以通过配置开启)
pagespeed EnableCachePurge on;
pagespeed PurgeMethod PURGE;
# 为了优化性能,可以写LRU缓存,nginx使用更少的进程,LRUCacheKbPerProcess可以适当大点
pagespeed LRUCacheKbPerProcess 8192;
pagespeed LRUCacheByteLimit 16384;
#列出优化过程中所有失败的请求,debug 时很有用,失败的信息会打印到 error log 里
pagespeed ListOutstandingUrlsOnError on;
# 跨域
#pagespeed AddResourceHeader "Access-Control-Allow-Origin" "http://www.example.com";
# 谷歌广告代码优化
#pagespeed EnableFilters make_show_ads_async;
# 谷歌统计代码优化
pagespeed EnableFilters make_google_analytics_async;
# 插入谷歌统计代码
#pagespeed EnableFilters insert_ga;
#pagespeed AnalyticsID <Analytics ID>;
#pagespeed UseAnalyticsJs false;
# 替换重复的内联图像
pagespeed EnableFilters dedup_inlined_images;
# 缓存公共资源
pagespeed ForceCaching on;
# 缓存到本地浏览器中
pagespeed EnableFilters local_storage_cache;
# 启用相对路径
pagespeed EnableFilters trim_urls;
#启用静态文件CDN加速
#pagespeed EnableFilters rewrite_domains;
#pagespeed DomainRewriteHyperlinks on;
#pagespeed Domain https://www.example.com;
#pagespeed MapRewriteDomain https://static.example.comhttps://www.example.com;
# 配置服务器缓存位置和自动清除触发条件(空间大小、时限)
#路径请提前创建好,可以放在内存也可以放在临时文件夹中
pagespeed CreateSharedMemoryMetadataCache /home/ngx_cache/ngx_pagespeed_cache 51200;
pagespeed DefaultSharedMemoryCacheKB 51200;
pagespeed FileCachePath /home/ngx_cache/ngx_pagespeed_cache;
pagespeed FileCacheSizeKb 2048000;
pagespeed FileCacheCleanIntervalMs 43200000;
pagespeed FileCacheInodeLimit 500000;
# 过滤器级别(自定义模式)
pagespeed RewriteLevel PassThrough;
# 一个标识而已(若在浏览器开发者工具里的链接请求响应标头看到此标识,则说明 PageSpeed 生效)
pagespeed XHeaderValue "Powered By Cat";
# HTML页面链接转小写(SEO 优化,推荐)
pagespeed LowercaseHtmlNames on;
# 重置 HTTP Vary 头 除非有特殊需求,建议不开启,默认配置往往是最佳配置
# pagespeed RespectVary on;
#PageSpeed能够根据响应头中指定的任何内容安全策略调整其优化
pagespeed HonorCsp on;
#PageSpeed 默认遵守 Cache-Control: no-transform 协议, 表示不可被中间代理软件改写,如果想让优化效果最大化,可以关闭
#pagespeed DisableRewriteOnNoTransform off;
# 启用 样式属性/CSS/JavaScript/Images 重写,其它功能的先决开关
pagespeed EnableFilters rewrite_style_attributes,rewrite_css,rewrite_javascript,rewrite_images;
###########缓存 ##########
#相当于同时使用了extend_cache_images, extend_cache_scripts和 extend_cache_css
pagespeed EnableFilters extend_cache;
pagespeed EnableFilters extend_cache_pdfs;
pagespeed EnableFilters local_storage_cache;
#开启使用Redis(和memcached只能先其一)
#pagespeed RedisServer "127.0.0.1:6379";
# memcached优化,如果没有memcached优化请删去
pagespeed MemcachedThreads 1;
pagespeed MemcachedServers "127.0.0.1:11211";
######## 过滤规则 ########
# 过滤不需要启用的目录或文件
#pagespeed Disallow "*/wp-admin/*";
#pagespeed Disallow "*/wp-login.php*";
pagespeed Disallow "*/image/2019/10/qlogo-1.png*";
# 启用压缩空白过滤器
pagespeed EnableFilters collapse_whitespace;
# 预解析DNS查询
pagespeed EnableFilters insert_dns_prefetch;
########JS和CSS########
# 启用JavaScript库卸载 #谷歌被QQ,并不确定这个设置有没有副作用
# pagespeed EnableFilters canonicalize_javascript_libraries;
# 把多个CSS文件合并成一个CSS文件(比较容易引起主题版面混乱,所以我禁用了
#pagespeed EnableFilters combine_css;
# 重写CSS,首先加载渲染页面的CSS规则
pagespeed EnableFilters prioritize_critical_css;
# 把多个JavaScript文件合并成一个JavaScript文件,禁用原因同上,大家可以酌情开启
#pagespeed EnableFilters combine_javascript;
# 删除带默认属性的标签
# pagespeed EnableFilters elide_attributes;
# 更换被导入文件的@import,精简CSS文件
# pagespeed EnableFilters flatten_css_imports;
# pagespeed CssFlattenMaxBytes 5120;
# 启用JavaScript缩小机制
# pagespeed EnableFilters rewrite_javascript;
####### 图片########
# 延时加载图片
# pagespeed EnableFilters lazyload_images;
# 不加载显示区域以外的图片
#pagespeed LazyloadImagesAfterOnload off;
# pagespeed LazyloadImagesBlankUrl "https://www.example.com/1.gif";
# 启用图片优化机制(主要是 inline_images, recompress_images, convert_to_webp_lossless(这个命令会把PNG和静态Gif图片转化为webp), and resize_images.)
pagespeed EnableFilters rewrite_images;
#组合 convert_gif_to_png, convert_jpeg_to_progressive, convert_jpeg_to_webp, convert_png_to_jpeg, jpeg_subsampling, recompress_jpeg, recompress_png, recompress_webp, #strip_image_color_profile, and strip_image_meta_data.
pagespeed EnableFilters recompress_images;
# 将JPEG图片转化为webp格式
pagespeed EnableFilters convert_jpeg_to_webp;
# 将动画Gif图片转化为动画webp格式
pagespeed EnableFilters convert_to_webp_animated;
# 同时优化图片的数量,默认值:8,0 或-1 为无限
pagespeed ImageMaxRewritesAtOnce -1;
# 允许优化的图像的最大字节数 4000*80000
pagespeed ImageResolutionLimitBytes 128000000;
# 允许保存图像的最大质量,默认 50
pagespeed JpegQualityForSaveData 95;
# 此选项设置JPEG图像的质量。除非设置为-1,否则它将覆盖ImageRecompressionQuality。默认值为85
pagespeed JpegRecompressionQuality 100;
# 此选项为从移动设备访问您的站点的用户设置JPEG图像的质量。除非将其设置为-1,否则它将覆盖JpegRecompressionQuality。默认值为70。
pagespeed JpegRecompressionQualityForSmallScreens 100;
# 防止兼容的代理进一步重新压缩
pagespeed NoTransformOptimizedImages on;
# 此选项设置JPEG和WebP格式的质量。可以用任何特定于格式或特定于应用程序的质量来覆盖它。默认值为85。
pagespeed ImageRecompressionQuality 100;
# 此选项设置动画WebP图像的质量。它覆盖WebpRecompressionQuality,并且适用于来自移动设备和非移动设备的用户,除非将其设置为-1。默认值为70。
pagespeed WebpAnimatedRecompressionQuality 100;
# 则此选项设置WebP图像的质量。请参阅AllowVaryOn以了解如何启用保存数据。除非将其设置为-1,否则该选项将覆盖WebpRecompressionQuality和ModPagespeedWebpAnimatedRecompressionQuality。默认值为50
pagespeed WebpQualityForSaveData 95;
# 此选项设置WebP图像的质量。除非设置为-1,否则它将覆盖ImageRecompressionQuality。默认值为80。
pagespeed WebpRecompressionQuality 100;
# 此选项为从移动设备访问您的站点的用户设置WebP图像的质量。除非将其设置为-1,否则它将覆盖WebpRecompressionQuality。默认值为70
pagespeed WebpRecompressionQualityForSmallScreens 100;
# 图片预加载
pagespeed EnableFilters inline_preview_images;
# 移动端图片自适应重置
pagespeed EnableFilters resize_mobile_images;
pagespeed EnableFilters responsive_images,resize_images;
pagespeed EnableFilters insert_image_dimensions;
pagespeed EnableFilters resize_rendered_image_dimensions;
pagespeed EnableFilters strip_image_meta_data;
pagespeed EnableFilters convert_jpeg_to_webp,convert_to_webp_lossless,convert_to_webp_animated;
pagespeed EnableFilters sprite_images;
pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp;
#让JS里引用的图片也加入优化
pagespeed InPlaceResourceOptimization on;
pagespeed EnableFilters in_place_optimize_for_browser;
# 启用ngx_pagespeed 结束
第二部分
# 不能删 。确保对pagespeed优化资源的请求进入pagespeed处理程序并且没有额外的头部信息
location ~ ".pagespeed.(.)?{2}.[^.]{10}.[^.]+" { add_header "" ""; }
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
location /pagespeed_console { allow 127.0.0.1; deny all; }
location ~ ^/pagespeed_admin { allow 127.0.0.1; deny all; }
location ~ ^/pagespeed_global_admin { allow 127.0.0.1; deny all; }
if ($request_uri ~ "(ngx_pagespeed_([^.]+)/(.*)?)") { break; }
效果访问任一签名站查看源码即可。
翠花 大佬有话说 :
其实低配服务器不建议用的,pagespeed 很耗 CPU 资源,最好是多核,否则 CPU 经常会出现负载 100%的情况。
cyclists 大佬有话说 :
再怎么优化,都不如套国内CDN
度百 大佬有话说 :
appnode
/**
* 问:喜欢一个人是什么感觉?
* 答:觉得他身上有wifi。
* 问:暗恋一个人是什么感觉?
* 答:不知道wifi密码是什么。
* 问:失恋了是什么感觉?
* 答:本来能自动连接wifi突然有一天连不上了。
* 问:暧昧是什么感觉?
* 答:就是wifi信号不稳定,有时信号强、有时信号弱。
* 问:异地恋是什么感觉?
* 答:就是知道wifi密码,但是距离太远连接不上
*
* zsbd */
16qf 大佬有话说 :
给你个一键脚本吧,就是需要自己改下nginx配置
https://dwz.ng/wx5ykp