一.介绍
谷歌有个叫PageSpeed的Project,一共有三个产品,PageSpeed Service(CDN,不过已经关闭了),PageSpeed Insights(网站检测,提供优化建议) 还有个就是这次我们要提到的PageSpeed Integration,这个目前有mod_pagespeed和ngx_pagespeed两个插件,看名字就能知道它们一个是针对Apache一个是针对Nginx的。
Plesk面板相比cPanel缺少了这个功能,这就很气,虽然有用户向官方请求添加这个功能,但是也不是一时半会儿能马上搞定的,那么就先来个非官方的代替方案吧。
二.搞起
本次只说mod_pagespeed怎么搞,为什么?因为方便,ngx_pagespeed需要重新编译Nginx,而且由于Plesk没有DA那样的自定义Build Template的功能,所以后续面板升级Nginx会导致失效,这就比较蛋疼,官方建议是如果要这么搞就必须锁死对应的包,防止更新。扯远了,后面会和其他Nginx插件一起说,现在回归正题。
本方案来自我在谷歌上瞎搜,想要看原文的可以去,我这边翻译总结下——>传送门
这个方案能实现的主要原因还是Apache支持直接动态加载模块,虽然Nginx也添加了这个特性,但是各插件基本都还不支持,另外mod_pagespeed相比ngx_pagespeed来说是更完善的,貌似前期的开发主要目标是它。
#添加mod_pagespeed的yum源 cat > /etc/yum.repos.d/google-mod-pagespeed.repo <<-'EOF' [google-mod-pagespeed] name=google-mod-pagespeed baseurl=http://dl.google.com/linux/mod-pagespeed/rpm/stable/$basearch enabled=1 gpgcheck=0 EOF #直接安装 yum install mod-pagespeed -y #重启Apache service httpd restart
然后检测下mod_pagespeed是否加载,这是Nginx+Apache模式,如果你选择仅Apache模式返回的内容会有所不同,但是也会有X-Mod-Pagespeed
curl -D- http://example.com | head -10 HTTP/1.1 200 OK Server: nginx Date: Sat, 09 Sep 2017 07:17:20 GMT Content-Type: text/html Content-Length: 3695 Connection: keep-alive Accept-Ranges: bytes X-Mod-Pagespeed: 1.12.34.2-0 Vary: Accept-Encoding Cache-Control: max-age=0, no-cache, s-maxage=10
当然我们也能在Plesk的Apache设置中看到模块
https://IP:8443/admin/server/optimization-settings
由于mod_pagespeed的目前版本配置文件加入了自动判断apache版本功能,所以不用手动修改加载加载pagespeed还是pagespeed_ap24,需要注意的是,因为pagespeed采用了单独的配置文件来加载,所以无法在这儿取消勾选pagespeed。
如果需要修改全局配置,请直接修改文件,当然在Plesk的站点配置中的"Apache与Nginx设置"也能添加pagespeed的配置参数来对单独站点进行配置微调
文件位置 /etc/httpd/conf.d/pagespeed.conf
PS.有一点需要注意,如果想要pagespeed发挥效果,请不要启用"Apache与Nginx设置"中的"由 nginx 直接服务静态文件",该功能将使得Nginx跳过Apache处理静态文件,这样mod_pagespeed将无法对静态文件进行优化处理。
文章评论