宝塔nginx不缓存图片

宝塔面板下为nginx安装ngx_pagespeed模块并配置WebP图片加速的方法,理论上非宝塔环境也适用,加模块使用命令行进行编译即可

网站图片太多,服务器带宽和线路不能动的前提下,对图片进行优化。查了一下,发现WebP格式的图片很有优势,主流的浏览器也支持。

WebP是一种同时提供了有损压缩与无损压缩的图片文件格式,目标是减少文件大小,但达到和JPEG格式相同的图片质量,理论上能够在很大程度上缩小图片文件的大小,以节省服务器带宽,减少传输时间。

Ngx-pagespeed是一个免费的开源Nginx模块,可用于加快网站速度并减少页面加载时间。它可以在无需修改网站内容的前提下,对网站进行优化。使用者可以使用Ngx-pagespeed模块轻松优化各种文件,例如CSS,HTML,png和jpg,它可以自动将图片文件转换成WebP格式来呈现给访客,这个是我目前最需要的。

服务器环境

Centos7 已安装 宝塔面板 PHP7.2

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/page-speed/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说明已经安装成功

这时需要开启模块,进入“网站”,然后点击配置文件,将配置内容输入到‘root’下方的位置

配置内容如下,可以自行调整

####基本设置######
pagespeed on;
pagespeed FileCachePath /var/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;    
# 预解析DNS查询    
pagespeed EnableFilters insert_dns_prefetch;    
# 重写CSS,首先加载渲染页面的CSS规则    
pagespeed EnableFilters prioritize_critical_css; 
# Example 禁止pagespeed 处理/wp-admin/目录(可选配置,可参考使用)
pagespeed Disallow "*/wp-admin/*";
#######图片处理配置########
# 延时加载图片
pagespeed EnableFilters lazyload_images;
# 不加载显示区域以外的图片
pagespeed LazyloadImagesAfterOnload off;
pagespeed LazyloadImagesBlankUrl "https://www.cmzeno.com/xxx.png";
# 启用图片优化机制(主要是 inline_images, recompress_images, convert_to_webp_lossless(这个命令会把PNG和静态Gif图片转化为webp), and resize_images.)
pagespeed EnableFilters rewrite_images;
#组合 convert_gif_to_png, convert_jpeg_to_progressive, convert_jpeg_to_webp, convert_png_to_jpeg, jpeg_subsampling, recompress_jpeg, recompress_png, recompress_webp, #strip_image_color_profile, and strip_image_meta_data.
pagespeed EnableFilters recompress_images;
# 将JPEG图片转化为webp格式
pagespeed EnableFilters convert_jpeg_to_webp;
# 将动画Gif图片转化为动画webp格式
pagespeed EnableFilters convert_to_webp_animated;
# 图片预加载
pagespeed EnableFilters inline_preview_images;
# 移动端图片自适应重置
pagespeed EnableFilters resize_mobile_images;
pagespeed EnableFilters responsive_images,resize_images;
pagespeed EnableFilters insert_image_dimensions;
pagespeed EnableFilters resize_rendered_image_dimensions;
pagespeed EnableFilters strip_image_meta_data;
pagespeed EnableFilters convert_jpeg_to_webp,convert_to_webp_lossless,convert_to_webp_animated;
pagespeed EnableFilters sprite_images;
pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp;

# 让JS里引用的图片也加入优化
pagespeed InPlaceResourceOptimization on;         
pagespeed EnableFilters in_place_optimize_for_browser;    
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }

更多配置请参考
https://www.modpagespeed.com/doc/configuration

保存,重启nginx,在命令行输入

curl -I -p http://www.XXX.com

请将 http://www.XXX.com 替换成你的域名,至此模块已经开启成功了

在开启后,图片被自动转换为了WebP格式

1. git提交分支相关 在本地新建分支,保证和远程分支一样 git checkout -b 分支名 如果分支已存在,只需要切换的话 git checkout 分支名 提交前先把代码
如何用JAVA编写一个简单用户登陆界面? 我想利用JAVA编写一个简单的用户登陆界面,用于信息管理系统的,应该如何着手呢?请高手指教! 搜索更多相关的解决方案: JAVA  界面  编写 
随着各种移动设备的更新换代,移动互联网呈飞速发展状态,移动应用更是呈指数增长。在这种情况下,App的测试需求正逐年增大,已有赶超Web测试的势头。今天,就结合我个人的工作经历,已经相关的专业知识,
这篇文章我是第一次看见,关于app兑换码我也是第一次知道这么用。转给大家,希望能够对大家有所帮助。 App Store兑换码(促销码)是开发者市场营销过程中常常被忽略的一点,开发者并没有挖掘出兑换
目前Win11系统还是拥有周期的更新,并且我们电脑会自动下载这个补丁来让电脑更加安全,但这些升级包并不会在第一时间自行删除,而是会堆积在C盘中,这会导致我们存储空间严重不足,那么要如何去删除呢?
我们在使用电脑的时候有需要切换用户登录,windows10系统下怎么切换用户呢?下面由学习啦小编为你整理了windows10开机界面怎么切换用户的相关方法,希望对你有帮助! windows10
Mysql 更改数据存储目录,只讲干货 1. 找到原存储位置 2.暂停MySQL服务 3.将1查到的文件夹中的data文件剪切到其他盘符 4.更改MySQL服务下的My.ini文件 5.重
关于node的使用已经很久了,使用范围也很广,似乎有前端的地方就有node,那么来思考一个问题,node到底是用来干嘛的呢?本文从五个大的方面对该问题进行了解释。 我们知道node的出现,让前
一、下载最新的软件版本:node # wget [url]ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0rc3.tar.gz[/url]安
目录 第一部分 单项选择题.....................................................................................
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。 进入“中文语音识别”目录,然后运行下面的命令 pocketsphinx
快来领取红包
您的专属优惠已准备好!
打开微信扫一扫,关注公众号~
SiteMap 网站地图 文本地图 RSS