pagespeed(GitHub)是 Goolge 為 Apache 和 nginx 開發的前端優化擴展模塊,其中適用 Apache 環境的叫 mod_pagespeed,適用於 nginx 環境的叫 ngx_pagespeed。
 
pagespeed 的功能包括以下方面:
優化傳輸頻寬(過濾)(壓縮圖片、CSS、JS文件,去除html空白)、降低請求(CSS、JS文件合併、識別並重定向常用JS庫、cache控制)、Domain映射(支持CDN)、提升客戶端體驗(圖片預加載、延遲加載,移動端圖像優化),同時還提供對 https 的支持。

下載 ngx_pagespeed

目前 ngx_pagespeed 最新的版本要求 gcc ≧ 4.8 or clang ≧ 3.3,如果需要安裝最新版請升級 gcc 或 clang
或者繼續使用舊版:1.9.32.14

把以下內容複製到ngx_pagespeed.sh裡面

修改ngx_pagespeed.sh檔案權限,變成可執行

執行

根目錄會產生ngx_pagespeed-1.9.32.14-beta 資料夾,裡面放了config ngx_pagespeed所需要的檔案

修改 nginx update script

找到

把 –add-module=/root/ngx_pagespeed-1.9.32.14-beta 加到最後
修改成

進行nginx configure

加入以下指令,然後保存

然後在修改nginx.conf

在下方加入

以下是pagespeed.conf內容說明:
# 啟用ngx_pagespeed
pagespeed on;
# 啟用pagespeed cache位置
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed RewriteLevel PassThrough;
# 啟用壓縮空白過濾器
pagespeed EnableFilters collapse_whitespace;
# 啟用JavaScript庫卸載
pagespeed EnableFilters canonicalize_javascript_libraries;
# 把多個CSS文件合併成一個CSS文件
pagespeed EnableFilters combine_css;
# 把多個JavaScript文件合併成一個JavaScript文件
pagespeed EnableFilters combine_javascript;
# 刪除帶默認屬性的標籤
pagespeed EnableFilters elide_attributes;
# 改善資源的可緩存性
pagespeed EnableFilters extend_cache;
# 更換被導入文件的@import,精簡CSS文件
pagespeed EnableFilters flatten_css_imports;
pagespeed CssFlattenMaxBytes 5120;
# 延時加載客戶端看不見的圖片
pagespeed EnableFilters lazyload_images;
# 啟用JavaScript縮小機制
pagespeed EnableFilters rewrite_javascript;
# 啟用圖片優化機制
pagespeed EnableFilters rewrite_images;
# 預解析DNS查詢
pagespeed EnableFilters insert_dns_prefetch;
# 重寫CSS,首先加載渲染頁面的CSS規則
pagespeed EnableFilters prioritize_critical_css;
更多pagespeed 功能說明:
https://modpagespeed.com/doc/config_filters
 

建立cache文件夾並賦予nginx用戶權限

建議:添加Cron計畫任務 每5分鐘清除一次緩存 非常建議添加 修改Google PageSpeed的不完美之處

加入以下指令,然後保存

添加Cron計畫任務

加入以下指令,然後保存

重新啟動nginx
 
如何確認ngx_pagespeed是否正常工作
輸入

如果出現pagespeed版本號碼,就表示有成功啟用pagespeed

sec6

Tags: , , , ,