Apache加速模塊mod_pagespeed安裝使用詳細介紹
一.mod_pagespeed介紹
mod_pagespeed是一個適用于apache httpd的模塊,由google發(fā)布的開源代碼,可以自動完成優(yōu)化工作,包括優(yōu)化緩存,減少客戶端服務器之間的通訊,降低負載等等。部署mod_pagespeed不用修改任何程序,安裝完成后重啟apache,一切前端問題自動優(yōu)化。CDN服務商Cotendo已在其CDN服務器上部署mod_pagespeed以加速客戶網站訪問,圖片文件大小經自動壓縮可減少20%-30%,頁面加載時間最多可縮短50%。GoDaddy也宣布將在其客戶網站服務器上廣泛部署mod_pagespeed。
mod_pagespeed項目主頁:https://developers.google.com/speed/pagespeed/
二、mod_pagespeed的功能
1.Optimize Caching優(yōu)化緩存
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 優(yōu)化圖片
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中的每種優(yōu)化措施都被放到了可自定義的過濾器中。有些過濾器會直接的修改HTML內容,而另外一些過濾器會調整頁面中引用的CSS,JavaScript和圖片,從而構造出一種更優(yōu)化的頁面。
四、mod_pagespeed的安裝
mod_pagespeed目前支持Apache和Nginx。Apache中簡單的安裝方法如下。安裝完成之后,它會在yum里新建一個安裝源,之后通過yum update更新就可以了。
Centos/Fedora下安裝:
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:
查看pagespeed是否加載:
五、mod_pagespeed的配置
一般在安裝成功后,不需要任何配置就可以正常用,當然,如果你有更高的要求,可以參考以下內容。
1.創(chuàng)建配置文件
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/ #創(chuàng)建配置文件中配置的緩存目錄
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中有一系列的默認的優(yōu)化選項(filter),在安裝完成之后自動打開,只需要重啟一下Apache就可以看到效果了。
基礎的優(yōu)化都已包含了,比如壓縮CSS和Javascript、延長資源的過期時間、重寫圖片等,如果還想進一步優(yōu)化,可以考慮幾下選項:
1.remove_comments:刪除源文件中的注釋。絕大多數(shù)情況下,注釋對于終端用戶都是不可見的,刪掉之后不影響瀏覽。而且mod_pagespeed可以識別出IE的條件注釋而不去動它。
2.collapse_whitespace:刪除源文件中的空白字符,同上,不影響瀏覽。
3.insert_dns_prefetch:指引瀏覽器提前進行DNS解析,如果你的博客中引用了其它站點的圖片,比如本博客使用Google Cloud Storage作為圖床,增加這個選項,可以讓瀏覽器預先解析Cloud Storage的DNS,這樣可以加速圖片的下載速度。
增加選項需要修改/etc/httpd/conf.d/pagespeed.conf文件,并添加如下的代碼。注意修改完之后依然需要重啟Apache。
另外,如果你的網站啟用了HTTPS,你需要對HTTPS進行特殊的設置,因為HTTPS中通訊是加密的,mod_pagespeed無法得知其中的內容。設置也就一句話:
都搞定之后,刷新一下頁面看看效果吧。
七、臨時禁用PageSpeed組件
在調試網站的時候,有時候需要禁用緩存組件,這樣才可以看到最新的改動。這個時候Page Speed組件可能會變成一個障礙,它并不能及時地發(fā)現(xiàn)原始文件有所改變,從而重新進行緩存。
當然,禁用它也很簡單,甚至連SSH都用不上。只需要在需要調試的URL后面加上參數(shù)ModPagespeed=off,比如這樣:
就可以訪問到沒有經過Page Speed優(yōu)化過的網頁,如果你仔細看源文件,可以發(fā)現(xiàn)一些差別。
相關文章
time_t tm timeval 和 時間字符串的轉換方法
下面小編就為大家?guī)硪黄猼ime_t tm timeval 和 時間字符串的轉換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
yum 安裝memcache permission denied(拒絕訪問) 問題
這篇文章主要介紹了yum 安裝memcache permission denied(拒絕訪問) 問題,需要的朋友可以參考下2017-03-03

