Godaddy使用谷歌mod_pagespeed加速模块

一直觉得自己的网站放在godaddy速度比较慢,老跟godaddy客户服务人员抱怨。

今天客服突然发邮件告诉我,我的空间可以使用谷歌的mod_pagespeed 加速模块,告诉了我使用方法!

转载自:网上购物http://www.guang58.com

我在根目录下的.htaccess文件中加入以下代码。就ok

<IfModule pagespeed_module>

    ModPagespeed on

     AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

     ModPagespeedFileCachePath   "你的网站目录/cache/"

     ModPagespeedGeneratedFilePrefix  "你的网站目录/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

     

     ModPagespeedDomain http://www.guang58.com

     ModPagespeedFileCacheSizeKb          102400

     ModPagespeedFileCacheCleanIntervalMs 3600000

     ModPagespeedLRUCacheKbPerProcess     1024

     ModPagespeedLRUCacheByteLimit        16384

     ModPagespeedCssInlineMaxBytes        2048

     ModPagespeedImgInlineMaxBytes        2048

     ModPagespeedJsInlineMaxBytes         2048

     ModPagespeedCssOutlineMinBytes       3000

     ModPagespeedJsOutlineMinBytes        3000

     ModPagespeedImgMaxRewritesAtOnce        8

     ModPagespeedStatistics off

</IfModule>

我的另一种配置:

<IfModule pagespeed_module>

     ModPagespeed on

     ModPagespeedEnableFilters combine_heads

     ModPagespeedEnableFilters outline_css,outline_javascript

     ModPagespeedEnableFilters move_css_to_head

     ModPagespeedEnableFilters rewrite_css

     ModPagespeedEnableFilters remove_comments

     ModPagespeedEnableFilters collapse_whitespace

     ModPagespeedEnableFilters elide_attributes

     ModPagespeedEnableFilters remove_quotes

     ModPagespeedCssInlineMaxBytes        2048

     ModPagespeedImgInlineMaxBytes        2048

     ModPagespeedJsInlineMaxBytes         2048

     ModPagespeedCssOutlineMinBytes       3000

     ModPagespeedJsOutlineMinBytes        3000

     ModPagespeedImgMaxRewritesAtOnce     8

     ModPagespeedStatistics off

</IfModule>

速度的确能够提升很多的,嘿嘿!

下面对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输出过滤器,允许服务器在将输出内容发送到客户端前进行压缩,以节省宽带。

<IfModule !mod_deflate.c>

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

</IfModule>

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

<IfModule pagespeed_module>

    # 开启(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

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

     ModPagespeedEnableFilters outline_css,outline_javascript

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

     ModPagespeedEnableFilters move_css_to_head

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

     ModPagespeedEnableFilters combine_css

    # 重写Javscript和CSS文件,删除多余的空格和注释。

     ModPagespeedEnableFilters rewrite_css,rewrite_javascript

    # 将CSS和JS小文件,内嵌到HTML文档中。

     ModPagespeedEnableFilters inline_css,inline_javascript

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

     ModPagespeedEnableFilters rewrite_images

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

     ModPagespeedEnableFilters insert_img_dimensions

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

     ModPagespeedEnableFilters remove_comments

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

    # ModPagespeedEnableFilters collapse_whitespace

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

     ModPagespeedEnableFilters elide_attributes

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

     ModPagespeedEnableFilters extend_cache

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

     ModPagespeedEnableFilters remove_quotes

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

     ModPagespeedEnableFilters add_instrumentation

    # 除了优化HTML资源外,mod_pagespeed还可以对指定的域的资源比如javascript,CSS,图片进行优化。

    #

      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

    #

     <Location /mod_pagespeed_beacon>

           SetHandler mod_pagespeed_beacon

     </Location>

# 使用ModPagespeedBeaconUrl指令来更改到不同的目录或服务器。

# <Location /my/path/to/beacon>

#      SetHandler mod_pagespeed_beacon

# </Location>

# ModPagespeedBeaconUrl "/my/path/to/beacon?ets="

# ModPagespeedBeaconUrl "http://my_other_server/my_beacon?ets="

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

# ModPagespeedStatistics off

    # 查看统计数据。

   <Location /mod_pagespeed_statistics>

        Order allow,deny

        Allow from XXX.XXX.XXX.XXX

        SetHandler mod_pagespeed_statistics

    </Location>

</IfModule>

<Directory /www/mod_pagespeed_example>

  <IfModule headers_module>

    <FilesMatch "\.(html|htm)$">

      Header unset Etag  //关闭HTML文件的Etag

      Header set Cache-control "max-age=0, no-cache, no-store"  //不缓存

    </FilesMatch>

# 图片,样式和javascript的重写URL包含哈希值。

    <FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">

      Header unset Etag

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

    </FilesMatch>

  </IfModule>

</Directory>

3.mod_pagespeed实例

LoadModule pagespeed_module /usr/local/apache2.2.15/modules/mod_pagespeed.so

<IfModule !mod_deflate.c>

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

</IfModule>

<IfModule pagespeed_module>

    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

     <Location /mod_pagespeed_beacon>

           SetHandler mod_pagespeed_beacon

     </Location>

   <Location /mod_pagespeed_statistics>

        Order allow,deny

        Allow from XXX.XXX.XXX.XXX

        SetHandler mod_pagespeed_statistics

    </Location>

</IfModule>

<Directory /www/www.XXX.com>

    <IfModule headers_module>

       <FilesMatch "\.(shtml|html|htm)$">

        Header unset Etag

        Header set Cache-control "max-age=0, no-cache, no-store"

       </FilesMatch>

        <FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">

        Header unset Etag

        Header set Cache-control "public, max-age=600"

        </FilesMatch>

    </IfModule>

</Directory>

喜欢研究的朋友可以去看这个地址:

http://code.google.com/intl/zh-CN/speed/page-speed/docs/config_filters.html

转载自:网上购物http://www.guang58.com

目前这套优化模块已经应用具于有 850万客户的 GoDaddy 服务器上,而且反响良好。根据此前的一些实践来看, 通过 mod_pagespeed 可以对 Web 性能的多个方面,包括缓存、客户端与服务器之间的连接、载荷大小等进行优化,最大可将页面加载时间缩短 50%

让你的网站速度再飞一会儿