一、Nginx_PageSpeed模块介绍
ngx_pagespeed 是谷歌开发的一个Nginx扩展模块,其实这个模块很早就开发出来了,但之前总有bug,一直处于beta版本,16年(疑)才有stable版本。
ngx_pagespeed官网: http://ngxpagespeed.com/
Github:https://github.com/pagespeed/ngx_pagespeed
GoogleDevelopers:https://developers.google.com/speed/docs/mod_pagespeed
二、Nginx_PageSpeed主要功能
*图像优化:剥离元数据、动态调整,重新压缩 *CSS和JavaScript压缩、合并、级联、内联 *小资源内联 *推迟图像和JavaScript加载 *对HTML重写、压缩空格、去除注释等 *提升缓存周期
三、一键安装Nginx_Pagespeed
wget https://raw.githubusercontent.com/madlifer/ngx_pagespeed_auto/master/nps-auto.sh && bash nps-auto.sh
四、Nginx_PageSpeed模块的配置
由于采用的nginx版本为1.14,貌似不支持动态模块,所以不需要写入动态模块。直接在网站的nginx配置文档中 server段内粘贴所需要的功能命令,然后重载Nginx配置就可以了。
# 启用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;
五、手动配置
1.安装依赖
yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y
2.下载ngx_pagespeed
wget https://github.com/apache/incubator-
pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz
tar -xvzf v1.13.35.2-stable.tar.gz #解压文件
如果想要最新的版本可以访问
https://github.com/apache/incubator-pagespeed-ngx/releases
3.下载PageSpeed优化库
cd incubator-pagespeed-ngx-1.13.35.2-stable #
进入刚刚解压的文件夹
wget https://dl.google.com/dl/pagespeed/psol/1.13.35.2-x64.tar.gz #下载最新版优化库
tar -xvzf 1.13.35.2-x64.tar.gz #解压优化库
4.编译模块
进入宝塔面板,编译安装nginx,点击添加自定义模块,自定义模块的名称和描述可以随便写
模块参数填写格式如下:–add-module=/root/incubator-pagespeed-ngx-1.13.35.2-stable
其中,/root/incubator-pagespeed-ngx-1.13.35.2-stable是下载的ngx_pagespeed模块的位置,提交之后,记得勾选添加的自定义模块,然后提交编译,如图所示
5.配置和开启ngx_pagespeed模块
编译安装成功后,可以在命令行中输入
nginx -V查看是否编译成功,看到ngx_pagespeed说明已经安装成功,这时需要开启模块,进入“网站”,然后点击配置文件,将配置内容输入到‘service’下方的位置配置内
发现沙发条评论