Ngx_pagespeed的配置优化

VPS

Ngx_pagespeed的配置优化

开启了 Ngx_pagespeed 后可以飞快的提升网站访问速度,并且有很多功能,例如延迟加载图片等,这样在服务器端完成的肯定是要比 php+js 更好一些。目前使用的配置如下:

pagespeed on;
        pagespeed EnableCachePurge on;
        pagespeed FileCachePath /tmp/cache/ngx_pagespeed_cache;
        pagespeed FileCacheSizeKb 102400;
        pagespeed FileCacheCleanIntervalMs 3600000;
        pagespeed FileCacheInodeLimit 500000;

        # 禁用 CoreFilters
        pagespeed RewriteLevel PassThrough;
        # 图像延迟加载
        pagespeed EnableFilters lazyload_images;
        pagespeed LazyloadImagesBlankUrl "//static.youfencun.com/1.gif";
        # 不加载显示区域以外的图片
        pagespeed LazyloadImagesAfterOnload off;
        pagespeed CriticalImagesBeaconEnabled false;
        # 图片预加载
        pagespeed EnableFilters inline_preview_images;
        # 移动端图片自适应重置
        pagespeed EnableFilters resize_mobile_images;
        # 自动将多张背景图片合并成一张图片
        pagespeed EnableFilters sprite_images;
        # srcset 图像优化
        pagespeed EnableFilters responsive_images;
        # css 格式改成.css 文件并缓存
        #pagespeed EnableFilters outline_css;
        # js 格式改成.js 文件并缓存
        #pagespeed EnableFilters outline_javascript;
        # 移动 script 标签上方的 CSS 元素
        pagespeed EnableFilters move_css_above_scripts;
        # 将 CSS 元素移动到 head 中
        pagespeed EnableFilters move_css_to_head;
        # 将多个 css 文件合并成一个
        pagespeed EnableFilters combine_css;
        # 重写 CSS 以精简优化
        pagespeed EnableFilters rewrite_css;
        # 重写任何 CSS 文件中引用的资源
        pagespeed EnableFilters fallback_rewrite_css_urls;
        # 优化内嵌样式属性
        pagespeed EnableFilters rewrite_style_attributes;
        # CSS 的 URL 重置
        pagespeed EnableFilters rewrite_style_attributes_with_url;
        # 更换被导入文件的@import,精简 CSS 文件
        pagespeed EnableFilters flatten_css_imports;
        # 重写 CSS,首先加载渲染页面的 CSS 规则
        pagespeed EnableFilters prioritize_critical_css;
        # google 字体直接写入 html 目的是减少浏览器请求和 DNS 查询
        pagespeed EnableFilters inline_google_font_css;
        # 启用 JavaScript 缩小机制
        pagespeed EnableFilters rewrite_javascript;
        # 把多个 JavaScript 文件合并成一个 JavaScript 文件
        pagespeed EnableFilters combine_javascript;
        # 将小 JS 文件插入到 HTML 文档中
        pagespeed EnableFilters inline_javascript;
        # 将小 CSS 文件插入到 HTML 文档中
        pagespeed EnableFilters inline_css;
        # 启用图片优化机制
        pagespeed EnableFilters rewrite_images;
        # 将 JPEG 转换为渐进式
        pagespeed EnableFilters convert_jpeg_to_progressive;
        # 内联图像
        pagespeed EnableFilters inline_images;
        # 减少 JPEG 次采样
        pagespeed EnableFilters jpeg_subsampling;
        # 删除 HTML 的注释
        pagespeed EnableFilters remove_comments;
        # 启用压缩空白过滤器
        pagespeed EnableFilters collapse_whitespace;
        # 删除带默认属性的标签
        pagespeed EnableFilters elide_attributes;
        # 改善 CSS 及 JS 及图像的可缓存性
        pagespeed EnableFilters extend_cache;
        # 改善资 PDF 的可缓存性
        pagespeed EnableFilters extend_cache_pdfs;
        # 预解析 DNS 查询
        pagespeed EnableFilters insert_dns_prefetch;
        # meta 使用 http-equiv 属性 为每个标签 添加一个响应头
        pagespeed EnableFilters convert_meta_tags;
        # 延迟加载 js
        #pagespeed EnableFilters defer_javascript;
        # 使用 JavaScript 从第一次出现图像加载图像替换重复的内联图像
        pagespeed EnableFilters dedup_inlined_images;
        # 资源预加载
        #pagespeed EnableFilters hint_preload_subresources;
        # 禁止 pagespeed 处理/wp-admin/目录
        pagespeed Disallow "*/wp-admin/*";
        pagespeed Disallow "*/wp-login.php*";
        # 禁止 pagespeed 处理/wp-default/目录
        pagespeed Disallow "*/wp-default/*";
        # 配置 Memcached 支持
        pagespeed MemcachedServers "127.0.0.1:11211";
        # 移除不必要的 url 前缀,开启可能会导致某些自动加载功能失效
        pagespeed EnableFilters trim_urls;
        # 补全 script 和 style 的 type 标签
        pagespeed EnableFilters pedantic;
        # 按照合适的格式和尺寸展示图片
        pagespeed EnableFilters resize_rendered_image_dimensions;
        # 保存原始的 HTML 缓存头 不使用默认的 Cache-Control no-cache max-age=0
        #pagespeed ModifyCachingHeaders off;

        # 配置网页版后台
        pagespeed AdminPath /pagespeedwpadmin;
        pagespeed StatisticsLogging on;
        pagespeed LogDir /tmp/cache/log/pagespeed;
        location ~ ^/pagespeedwpadmin {
        auth_basic "Authorized users only";
        auth_basic_user_file /usr/local/nginx/conf/pass.db;
        }

        # 将 meta 转换为 header
        location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
        location ~ "^/ngx_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; }
        # 扩展缓存
        location /mod_pagespeed_example {
        location ~* \.(jpg|jpeg|gif|png|js|css)$ {add_header Cache-Control "public, max-age=31536000";}}

其中:
pagespeed FileCachePath /tmp/cache/ngx_pagespeed_cache;为缓存目录,需要手工建立;
pagespeed EnableFilters outline_css; 不采用生成新的 css 文件而采用内联的方式;
pagespeed EnableFilters outline_javascript; 不采用生成新的 js 文件而采用内联的方式;
pagespeed EnableFilters defer_javascript; 延迟加载会生成 js_defer 的文件,取消使用异步加载 js 的方法;
pagespeed ModifyCachingHeaders off; 在开启 cdn 后采用,否则 cache control 会默认 no-cache;

© 声明:本站原创文章采用BY-NC-SA创作共用协议,转载时请标明本文地址;非原创(转载)文章版权归原作者所有。

RECENT POSTS

Stay Hungry. Stay Foolish.

数据库查询次数:11次,页面生成时间:0.030秒。