本教程環境是運維筆記的oneinstack
系統爲:CentOS Linux release 7.0.1406 (Core)
- cd /root/oneinstack/src
- wget https://github.com/pagespeed/ngx_pagespeed/archive/latest-beta.tar.gz
- tar xzf latest-beta.tar.gzcd ngx_pagespeed-latest-beta/
- cd ..或是cd /root/oneinstack/src
- nginx -V
- nginx version: nginx/1.10.3
- built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
- built with OpenSSL 1.0.2k 26 Jan 2017
- TLS SNI support enabled
- configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2k --with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt=-ljemalloc
- tar xzf nginx-1.10.3.tar.gz
- cd nginx-1.10.3
- --add-module=../ngx_pagespeed-latest-beta
- ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2k --with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt=-ljemalloc --add-module=../ngx_pagespeed-latest-beta
- wget [url]https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz[/url]
- tar xzf 1.12.34.2-x64.tar.gz -C /root/oneinstack/src/ngx_pagespeed-latest-beta/
- ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2k --with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt=-ljemalloc --add-module=../ngx_pagespeed-latest-beta
- make
- mv /usr/local/nginx/sbin/nginx{,_date +%F`}
- cp objs/nginx /usr/local/nginx/sbin
- nginx -V 2>&1 | grep -o ngx_pagespeed
- server {
- # on 啓用,off 關閉
- pagespeed on;
- # memcached優化,如果沒有memcached優化請刪去
- pagespeed MemcachedThreads 1;
- pagespeed MemcachedServers "localhost:11211";
- # 重置 http Vary 頭
- pagespeed RespectVary on;
- # html字符轉小寫
- pagespeed LowercaseHtmlNames on;
- # 壓縮帶 Cache-Control: no-transform 標記的資源
- #pagespeed DisableRewriteOnNoTransform off;
- # 相對URL
- #pagespeed PreserveUrlRelativity on;
- pagespeed XHeaderValue "Powered By JaxsonWang";
- # 開啓 https
- #pagespeed FetchHttps enable;
- # 配置服務器緩存位置和自動清除觸發條件(空間大小、時限)
- pagespeed FileCachePath "/var/ngx_pagespeed/";
- pagespeed FileCacheSizeKb 2048000;
- pagespeed FileCacheCleanIntervalMs 43200000;
- pagespeed FileCacheInodeLimit 500000;
- # 過濾規則
- pagespeed RewriteLevel PassThrough;
- # 過濾WordPress的/wp-admin/目錄(可選配置,可參考使用)
- pagespeed Disallow "*/wp-admin/*";
- pagespeed Disallow "*/wp-login.php*";
- # 過濾typecho的/admin/目錄(可選配置,可參考使用)
- pagespeed Disallow "*/admin/*";
- # 移除不必要的url前綴,開啓可能會導致某些自動加載功能失效
- #pagespeed EnableFilters trim_urls;
- # 移除 html 空白
- pagespeed EnableFilters collapse_whitespace;
- # 移除 html 註釋
- pagespeed EnableFilters remove_comments;
- # DNS 預加載
- pagespeed EnableFilters insert_dns_prefetch;
- # 壓縮CSS
- pagespeed EnableFilters rewrite_css;
- # 合併CSS
- pagespeed EnableFilters combine_css;
- # 重寫CSS,優化加載渲染頁面的CSS規則
- pagespeed EnableFilters prioritize_critical_css;
- # google字體直接寫入html 目的是減少瀏覽器請求和DNS查詢
- pagespeed EnableFilters inline_google_font_css;
- # 壓縮js
- pagespeed EnableFilters rewrite_javascript;
- # 合併js
- pagespeed EnableFilters combine_javascript;
- # 優化內嵌樣式屬性
- #pagespeed EnableFilters rewrite_style_attributes;
- # 壓縮圖片
- #pagespeed EnableFilters rewrite_images;
- # 不加載顯示區域以外的圖片
- pagespeed LazyloadImagesAfterOnload off;
- # 圖片預加載
- pagespeed EnableFilters inline_preview_images;
- # 移動端圖片自適應重置
- pagespeed EnableFilters resize_mobile_images;
- # 圖片延遲加載
- pagespeed EnableFilters lazyload_images;
- # 雪碧圖片,圖標很多的時候很有用
- #pagespeed EnableFilters sprite_images;
- # 擴展緩存 改善頁面資源的可緩存性
- pagespeed EnableFilters extend_cache;
- # 不能刪
- location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
- location ~ "^/ngx_pagespeed_static/" { }
- location ~ "^/ngx_pagespeed_beacon[ DISCUZ_CODE_17 ]quot; { }
- location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
- location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
- }
- service nginx restart