测试Nginx服务器开启pagespeed加速

#进入 nginx 源码同级目录,我的是在/root下面
cd /root

#下载最新的稳定版模块
wget https://github.com/pagespeed/ngx_pagespeed/archive/latest-stable.tar.gz
https://developers.google.com/speed/pagespeed/module/config_filters

#解压
tar xf latest-stable.tar.gz

#下载psol优化库
cd ngx_pagespeed-latest-stable/
wget https://dl.google.com/dl/page-speed/psol/1.11.33.4.tar.gz

如果大家无法翻墙,下面是本站的下载地址:

http://down.liberalism.top/1.11.33.4.tar.gz

#解压psol
tar xf 1.11.33.4.tar.gz

#下载解压编译安装nginx,下载解压安装略,下面是编译的参数

./configure \
 --prefix=/application/nginx-1.10.2 \
 --with-http_stub_status_module \
 --with-http_ssl_module \
 --with-http_v2_module \
 --with-http_gzip_static_module \
 --with-http_flv_module \
 --with-http_mp4_module \
 --with-http_realip_module \
 --add-module=/root/ngx_pagespeed-latest-stable

#修改nginx的配置文件,启用pagespeed,也可以将pagespeed单独写一个配置文件,然后在server里面引用
# 启用ngx_pagespeed
pagespeed on;
pagespeed FileCachePath /tmp/cache/ngx_pagespeed_cache;

#创建缓存目录
mkdir -p /tmp/cache/ngx_pagespeed_cache
chmod -R 777 /tmp/cache/ngx_pagespeed_cache ? ?//很重要!!!

#重启nginx,是restart,不是reload
操作略

#验证pagespeed已经启用了
//下面是没有开启pagespeed
[root@teddy vhost]# curl -I 127.0.0.1:8080
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Mon, 31 Oct 2016 06:16:19 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 31 Oct 2016 06:09:35 GMT
Connection: keep-alive
ETag: “5816e01f-264”
Accept-Ranges: bytes

或者是临时关闭pagespeed
[root@teddy vhost]# curl -I 127.0.0.1:8080?ModPagespeed=off
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Mon, 31 Oct 2016 06:24:03 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 31 Oct 2016 06:09:35 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: “5816e01f-264”
Accept-Ranges: bytes

//下面是开启pagespeed
[root@teddy vhost]# curl -I 127.0.0.1:8080
HTTP/1.1 200 OK
Server: nginx/1.10.2
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Date: Mon, 31 Oct 2016 06:20:30 GMT
X-Page-Speed: 1.11.33.4-0
Cache-Control: max-age=0, no-cache

通过对比发现http的header信息不一样了

一个示例配置文件
# 启用ngx_pagespeed
pagespeed on;
pagespeed FileCachePath /tmp/cache/ngx_pagespeed_cache;
# 禁用CoreFilters
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;
# Example 禁止pagespeed 处理/wp-admin/目录(可选配置,可参考使用)
pagespeed Disallow “*/wp-admin/*”;

 

#测试效果

//css和js被重写了

qq20161031163144

//图片

qq20161031162716-before

qq20161031162845-after

图片的大小至少被缩小了4倍多

线上的配置文件
 [root@webserve1 conf]# cat ngx_pagespeed.conf
 pagespeed on;
 pagespeed FileCachePath /usr/local/nginx/ngx_pagespeed_cache;
 pagespeed RewriteLevel CoreFilters;
 pagespeed UseExperimentalJsMinifier on;

pagespeed EnableFilters add_head;
 pagespeed EnableFilters extend_cache;
 pagespeed EnableFilters fallback_rewrite_css_urls;
 pagespeed EnableFilters flatten_css_imports;
 pagespeed EnableFilters inline_css;
 pagespeed EnableFilters prioritize_critical_css;
 pagespeed EnableFilters inline_import_to_link;
 pagespeed EnableFilters inline_javascript;
 pagespeed EnableFilters local_storage_cache;
 pagespeed EnableFilters collapse_whitespace,remove_comments;
 pagespeed EnableFilters outline_css;
 pagespeed EnableFilters flatten_css_imports;
 pagespeed EnableFilters move_css_above_scripts;
 pagespeed EnableFilters move_css_to_head;
 pagespeed EnableFilters outline_javascript;
 pagespeed EnableFilters combine_javascript;
 pagespeed EnableFilters combine_css;
 pagespeed EnableFilters rewrite_javascript;
 pagespeed EnableFilters rewrite_css,sprite_images;
 pagespeed EnableFilters rewrite_style_attributes;
 pagespeed EnableFilters rewrite_images;
 pagespeed EnableFilters recompress_images;
 pagespeed EnableFilters resize_images;
 pagespeed EnableFilters convert_meta_tags;
 pagespeed EnableFilters lazyload_images;
 pagespeed EnableFilters insert_dns_prefetch;
 location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
 location ~ "^/ngx_pagespeed_static/" { }
 location ~ "^/ngx_pagespeed_beacon$" { }
 location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
 location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }

 

note:

如果服务器或者vps的配置低,建议不要开启,因为cpu的负载会非常大

测试Nginx服务器开启pagespeed加速
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Scroll to top
0
Would love your thoughts, please comment.x
()
x