Apache加速模块mod_pagespeed安装使用详细介绍

这篇文章主要介绍了Apache加速模块mod_pagespeed安装使用详细介绍,需要的朋友可以参考下

一.mod_pagespeed介绍
mod_pagespeed是一个适用于apache httpd的模块,由google发布的开源代码,可以自动完成优化工作,包括优化缓存,减少客户端服务器之间的通讯,降低负载等等。部署mod_pagespeed不用修改任何程序,安装完成后重启apache,一切前端问题自动优化。CDN服务商Cotendo已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。GoDaddy也宣布将在其客户网站服务器上广泛部署mod_pagespeed。
mod_pagespeed项目主页:https://developers.google.com/speed/pagespeed/
二、mod_pagespeed的功能
1.Optimize Caching优化缓存
Extend Cache扩展缓存
Outline CSS
Outline JavaScript
2.Minimize Round Trip Times最大限度地减少往返时间
Combine CSS 合并CSS
Inline CSS 内嵌CSS
Inline JavaScript 内嵌JavaScript
3.Minimize Payload Size最小化有效载荷尺寸
Collapse Whitespace 压缩空白
Combine Heads 合并头信息
Elide Attributes 省略属性
Minify Javascript 缩小Javascript
Optimize Images 优化图片
Remove Comments 删除注释
Remove Quotes 删除引用
Rewrite CSS 重写CSS
Move CSS to HEAD 加载CSS到head
Add Head
Add Instrumentation
三、mod_pagespeed的基本原理
mod_pagespeed是通过修改被请求的网页上资源来改善网页延迟和带宽使用效率的。Apache HTTP Server在服务网站资源时,mod_pagespeed module中的每种优化措施都被放到了可自定义的过滤器中。有些过滤器会直接的修改HTML内容,而另外一些过滤器会调整页面中引用的CSS,JavaScript和图片,从而构造出一种更优化的页面。
四、mod_pagespeed的安装
mod_pagespeed目前支持Apache和Nginx。Apache中简单的安装方法如下。安装完成之后,它会在yum里新建一个安装源,之后通过yum update更新就可以了。
Centos/Fedora下安装:

#32位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
#64位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at
rpm -U mod-pagespeed-*.rpm

Debina/Ubuntu下安装:


#32位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
#64位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.deb
dpkg -i mod-pagespeed-*.deb

重启httpd:

services httpd restart

查看pagespeed是否加载:
httpd -M|grep pagespeed

五、mod_pagespeed的配置
一般在安装成功后,不需要任何配置就可以正常用,当然,如果你有更高的要求,可以参考以下内容。

1.创建配置文件

vi /usr/local/apache/conf/pagespeed.conf #新建配置文件,请根据自己需求修改
LoadModule pagespeed_module /usr/local/apache/modules/mod_pagespeed_ap24.so
<IfModule pagespeed_module>
    ModPagespeed on
    ModPagespeedInheritVHostConfig on
    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
    ModPagespeedFileCachePath            "/var/cache/mod_pagespeed/"
    ModPagespeedFileCacheInodeLimit        500000
    ModPagespeedAvoidRenamingIntrospectiveJavascript on
    ModPagespeedEnableFilters collapse_whitespace
    <Location /mod_pagespeed_beacon>
          SetHandler mod_pagespeed_beacon
    </Location>
    <Location /mod_pagespeed_statistics>
        Order allow,deny
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler mod_pagespeed_statistics
    </Location>
    ModPagespeedMessageBufferSize 100000

    <Location /mod_pagespeed_message>
        Allow from localhost
        Allow from 127.0.0.1
        SetHandler mod_pagespeed_message
    </Location>
</IfModule>

2.使用配置文件

mkdir -p /var/mod_pagespeed/    #创建配置文件中配置的缓存目录
chown -R www.www /var/mod_pagespeed/
echo 'Include conf/pagespeed.conf' >> /usr/local/apache/conf/httpd.conf
/usr/local/apache/bin/apachectl  -t  #测试配置文件
Syntax OK
service httpd restart #重启apache

六、mod_pagespeed的高级应用
mod_pagespeed中有一系列的默认的优化选项(filter),在安装完成之后自动打开,只需要重启一下Apache就可以看到效果了。

基础的优化都已包含了,比如压缩CSS和Javascript、延长资源的过期时间、重写图片等,如果还想进一步优化,可以考虑几下选项:
1.remove_comments:删除源文件中的注释。绝大多数情况下,注释对于终端用户都是不可见的,删掉之后不影响浏览。而且mod_pagespeed可以识别出IE的条件注释而不去动它。
2.collapse_whitespace:删除源文件中的空白字符,同上,不影响浏览。
3.insert_dns_prefetch:指引浏览器提前进行DNS解析,如果你的博客中引用了其它站点的图片,比如本博客使用Google Cloud Storage作为图床,增加这个选项,可以让浏览器预先解析Cloud Storage的DNS,这样可以加速图片的下载速度。
增加选项需要修改/etc/httpd/conf.d/pagespeed.conf文件,并添加如下的代码。注意修改完之后依然需要重启Apache。

ModPagespeedDisableFilters remove_comments,collapse_whitespace

另外,如果你的网站启用了HTTPS,你需要对HTTPS进行特殊的设置,因为HTTPS中通讯是加密的,mod_pagespeed无法得知其中的内容。设置也就一句话:
ModPagespeedMapOriginDomain http://jb51.net https://jb51.net

都搞定之后,刷新一下页面看看效果吧。
七、临时禁用PageSpeed组件
在调试网站的时候,有时候需要禁用缓存组件,这样才可以看到最新的改动。这个时候Page Speed组件可能会变成一个障碍,它并不能及时地发现原始文件有所改变,从而重新进行缓存。
当然,禁用它也很简单,甚至连SSH都用不上。只需要在需要调试的URL后面加上参数ModPagespeed=off,比如这样:
http://jb51.net/?ModPagespeed=off

就可以访问到没有经过Page Speed优化过的网页,如果你仔细看源文件,可以发现一些差别。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定。 我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web。 我们首先设定网站目录和文件的所有者和所有组为centos,www,如下
Apache mod_ssl 配置多个虚拟主机支持SSL子站,以下配置适用于httpd 2.4+,对于不支持define指令的低版本Apache httpd Web Server,把SSLROOT换成所定义的路径即可。配置中的${WROOT}是httpd.conf中通过define指令定义的一个变量,值为D:/Web/www/ 在httpd.c
在apache的配置文件http.conf中最下面加入了这句,把这段注销掉或者去掉再重启apache就可以启动了! #Begin SafeDogSite-ApacheFilter edits - remove only on uninstall Include d:/wamp/bin/apache/apache2.4.4/conf/SafeDogSiteApacheFilter.Conf #End Sa
在windows和RH都碰到过,只要把主目录指到其他地方后就出现权限不够的403提示,郁闷了好久。