设为首页 收藏本站
查看: 1616|回复: 0

[经验分享] Apache自动优化前端页面的模块mod_pagespeed应用

[复制链接]

尚未签到

发表于 2018-11-27 09:15:56 | 显示全部楼层 |阅读模式
  Apache自动优化前端页面的模块mod_pagespeed应用

1.加载pagespeed.conf文件
# vim httpd.conf
Include conf/extra/pagespeed.conf

2.mod_pagespeed实例说明
# 加载mod_pagespeed模块
LoadModule pagespeed_module /usr/local/apache2.2.15/modules/mod_pagespeed.so
# 判断加载mod_deflate模块,如果没有加载将加载。mod_pagespeed自动启用mod_deflate压缩模块。
# mod_deflate模块提供deflate输出过滤器,允许服务器在将输出内容发送到客户端前进行压缩,以节省宽带。

LoadModule deflate_module /usr/local/apache2.2.15/modules/mod_deflate.so


# mod_pagespeed模块的配置参数指令必须包含在IfModule中。

    # 开启(on)或关闭(off)mod_pagespeed
    ModPagespeed on

    # Aoache直接将所有的HTML输出发送到mod_pagespeed处理程序。输出过滤器用来分析,优化和重新序列化HTML内容。
    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

    # ModPagespeedFileCachePath ModPagespeedGeneratedFilePrefix目录对Apache运行用户必须是可写的。
    ModPagespeedFileCachePath    "/usr/local/apache2.2.15/mod_pagespeed/cache/"
    ModPagespeedGeneratedFilePrefix  "/usr/local/apache2.2.15/mod_pagespeed/files/"

    # mod_pagespeed重写标准。 ModPagespeedRewriteLevel有效的标准值有四个:PassThrough, CoreFilters, TestingCoreFilters, AllFilters。默认的重写标准是CoreFilters,使用一系列的重写过滤器,对大部分网页是比较安全的。对于大多数网站来说,可以不必更改重写标准,使用ModPagespeedDisableFilters ModPagespeedEnableFilters规则来进行适当的微调。
    # ModPagespeedRewriteLevel CoreFilters

    # 明确禁用指定的过滤器,指令后面加上以逗号分隔的过滤器名称,可以重复。
    # ModPagespeedDisableFilters rewrite_javascript
     
    # 明确启用指定的过滤器。
    # 添加头信息。
     ModPagespeedEnableFilters add_head

    # 将多个头信息合并成一个,还可以改变内容顺序。
     ModPagespeedEnableFilters combine_heads

    # 测试过滤器。完全删除页面脚步,这将破坏功能,默认是禁用的。
    # ModPagespeedEnableFilters strip_scripts

    # 内嵌大块的Javascriptcss可以移动到外部文件,这样它们就可以被缓存在浏览器中,即使HTML是不缓存的。
     ModPagespeedEnableFilters outline_css,outline_javascript

    # css元素移动到头信息中。
     ModPagespeedEnableFilters move_css_to_head

    # 将多个css元素合并成一个。
     ModPagespeedEnableFilters combine_css

    # 重写JavscriptCSS文件,删除多余的空格和注释。
     ModPagespeedEnableFilters rewrite_css,rewrite_javascript

    # CSSJS小文件,内嵌到HTML文档中。
     ModPagespeedEnableFilters inline_css,inline_javascript

    # 优化图片重新编码成较小的字节大小,删除并不显示的多余像素并内嵌小图片。
     ModPagespeedEnableFilters rewrite_images

    # 增加宽/高属性来标记它们不存在。
     ModPagespeedEnableFilters insert_img_dimensions

    # 默认是关闭的。删除HTML文件中的注释。以免破坏Javascript延时执行。
     ModPagespeedEnableFilters remove_comments

    # 默认是关闭的。删除HTML文件中的多余空格。如果不是应用javascriptcss来检测和标记DOM的,可以安全开启这个过滤器。
    # ModPagespeedEnableFilters collapse_whitespace

    # 删除不符合HTML规格的属性。
     ModPagespeedEnableFilters elide_attributes

    # 查找出缓存不超过一个月的所有图片,cssjavascript,并延长缓存至它们生命周期。这个是安全的行为,因为增加了内容哈希URL,因此如果内容改变URL也将改变,并且可以获得正确的缓存。
     ModPagespeedEnableFilters extend_cache

    # 删除HTML属性并不需要的引号。
     ModPagespeedEnableFilters remove_quotes

    # 添加JavaScript的开头和结尾的页允许延迟信息发送回服务器。
     ModPagespeedEnableFilters add_instrumentation


    # 除了优化HTML资源外,mod_pagespeed还可以对指定的域的资源比如javascriptCSS,图片进行优化。
    #
      ModPagespeedDomain http://my_site.com
      ModPagespeedDomain http://cdn.my_site.com
    #
    # 域名允许使用通配符*和?。
# 默认情况下,域名下的所有HTML资源被重写。
       ModPagespeedAllow *
#  ModPagespeedDisallow *
#  ModPagespeedAllow http://*my_host.com/*/images/*.png
#  ModPagespeedAllow http://*my_host.com/*/styles/*.css

# 设置获取URL的超时时间。默认是5秒。注意:单位是微秒。
       ModPagespeedFetcherTimeoutMs 1000

    # 设置缓存参数。
    # ModPagespeedFileCacheSizeKb          102400
    # ModPagespeedFileCacheCleanIntervalMs 3600000
    # ModPagespeedLRUCacheKbPerProcess     1024
    # ModPagespeedLRUCacheByteLimit        16384
    # 设置过滤器参数。
# ModPagespeedCssInlineMaxBytes        2048
    # ModPagespeedImgInlineMaxBytes        2048
    # ModPagespeedJsInlineMaxBytes         2048
    # ModPagespeedCssOutlineMinBytes       3000
    # ModPagespeedJsOutlineMinBytes        3000

    # 设置任何时刻绑定多少张图片被重写。0代表不绑定。
    # ModPagespeedImgMaxRewritesAtOnce        8

    # 设置代理,mod_pagespeed记录请求网站的目录。
    #ModPagespeedSlurpDirectory ...
# ModPagespeedSlurpReadOnly on

    # 开启服务器端的javascript检测和统计信息。
    #在每个HTML页面注入两个小块的javascript,用来计算客户端加载呈现页面的时间并报告给服务器。
     ModPagespeedEnableFilters add_instrumentation

    #
     
           SetHandler mod_pagespeed_beacon
     

# 使用ModPagespeedBeaconUrl指令来更改到不同的目录或服务器。
#
#      SetHandler mod_pagespeed_beacon
#
# ModPagespeedBeaconUrl "/my/path/to/beacon?ets="
# ModPagespeedBeaconUrl "http://my_other_server/my_beacon?ets="

# 禁用统计信息。(mod_pagespeed0.9.11.5以上版本才支持)
# ModPagespeedStatistics off

    # 查看统计数据。
   
        Order allow,deny
        Allow from XXX.XXX.XXX.XXX
        SetHandler mod_pagespeed_statistics
   





  
   
      Header unset Etag  //关闭HTML文件的Etag
      Header set Cache-control "max-age=0, no-cache, no-store"  //不缓存
   

# 图片,样式和javascript的重写URL包含哈希值。
   
      Header unset Etag
      Header set Cache-control "public, max-age=600" //重新读取文件内容和重新计算哈希值。只要内容不改变,哈希值不会改变,缓存在浏览器中的相关资源将保持。
   
  



3.mod_pagespeed实例
LoadModule pagespeed_module /usr/local/apache2.2.15/modules/mod_pagespeed.so

LoadModule deflate_module /usr/local/apache2.2.15/modules/mod_deflate.so


    ModPagespeed on
    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
    ModPagespeedFileCachePath   "/usr/local/apache2.2.15/mod_pagespeed/cache/"
    ModPagespeedGeneratedFilePrefix  "/usr/local/apache2.2.15/mod_pagespeed/files/"
     ModPagespeedRewriteLevel CoreFilters
     ModPagespeedEnableFilters add_head
     ModPagespeedEnableFilters outline_css,outline_javascript
     ModPagespeedEnableFilters move_css_to_head
     ModPagespeedEnableFilters combine_css
     ModPagespeedEnableFilters rewrite_css,rewrite_javascript
     ModPagespeedEnableFilters inline_css,inline_javascript
     ModPagespeedEnableFilters rewrite_images
     ModPagespeedEnableFilters insert_img_dimensions
     ModPagespeedEnableFilters remove_comments
     ModPagespeedEnableFilters elide_attributes
     ModPagespeedEnableFilters extend_cache
     ModPagespeedEnableFilters remove_quotes
     ModPagespeedEnableFilters add_instrumentation
     
     ModPagespeedDomain http://www.XXX.com
     ModPagespeedFileCacheSizeKb          102400
     ModPagespeedFileCacheCleanIntervalMs 3600000
     ModPagespeedLRUCacheKbPerProcess     1024
     ModPagespeedLRUCacheByteLimit        16384
     ModPagespeedCssInlineMaxBytes        2048
     ModPagespeedImgInlineMaxBytes        2048
     ModPagespeedJsInlineMaxBytes         2048
     ModPagespeedCssOutlineMinBytes       3000
     ModPagespeedJsOutlineMinBytes        3000
     ModPagespeedImgMaxRewritesAtOnce        8
     ModPagespeedEnableFilters add_instrumentation
     
           SetHandler mod_pagespeed_beacon
     
   
        Order allow,deny
        Allow from XXX.XXX.XXX.XXX
        SetHandler mod_pagespeed_statistics
   


   
      
        Header unset Etag
        Header set Cache-control "max-age=0, no-cache, no-store"
      
        
        Header unset Etag
        Header set Cache-control "public, max-age=600"
        
   


4.测试:
关闭mod_pagespeed
DSC0000.png
5.开启mod_pagespeed
DSC0001.png
6.统计信息
DSC0002.png





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640112-1-1.html 上篇帖子: Apache 的两种运行模式Perfork和Worker 下篇帖子: apache 2.0.52 快速搭建基于linux的静态网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表