小知识: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

    ModPagespeed on

    ModPagespeedInheritVHostConfig on

    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

    ModPagespeedFileCachePath            “/var/cache/mod_pagespeed/”

    ModPagespeedFileCacheInodeLimit        500000

    ModPagespeedAvoidRenamingIntrospectiveJavascript on

    ModPagespeedEnableFilters collapse_whitespace

          SetHandler mod_pagespeed_beacon

        Order allow,deny

        Allow from localhost

        Allow from 127.0.0.1

        SetHandler mod_pagespeed_statistics

    ModPagespeedMessageBufferSize 100000

        Allow from localhost

        Allow from 127.0.0.1

        SetHandler mod_pagespeed_message

</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://tuohang.net https://tuohang.net

都搞定之后,刷新一下页面看看效果吧。

七、临时禁用PageSpeed组件

在调试网站的时候,有时候需要禁用缓存组件,这样才可以看到最新的改动。这个时候Page Speed组件可能会变成一个障碍,它并不能及时地发现原始文件有所改变,从而重新进行缓存。

当然,禁用它也很简单,甚至连SSH都用不上。只需要在需要调试的URL后面加上参数ModPagespeed=off,比如这样:
复制代码 代码如下:
http://tuohang.net/?ModPagespeed=off

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

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:LAMP架构中后端Apache获取用户真实IP地址的2种方法

2023-3-18 10:10:46

建站知识

小知识:Apache防DDOS模块mod_evasive安装和配置方法详解

2023-3-18 10:25:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索