nginx_image_filter 

http_image_filter_module
配置 ----------------------------------
第一种: //官方配置
location /img/ {
proxy_pass http://backend;
image_filter resize ;
image_filter rotate ;
error_page = /empty;
} location = /empty {
empty_gif;
} http://nginx.org/en/docs/http/ngx_http_image_filter_module.html#image_filter_webp_quality
-----------------------------------
第二种: //裁剪图片,不存储硬盘
访问 http://xxx.com/fanfan_11.jpg@100w_100h_75Q_r
http://xxx.com/fanfan.jpg@150w_100h_75Q_r
http://xxx.com/img/fanfan.jpg@11w_11_h_80Q_r # 等比缩放图片
location ~ (.+)\.(jpg|gif|png)@(\d+)w_(\d+)h_(\d+)Q_r$ {
set $w $; #宽
set $h $; #高
set $q $; #图片质量
image_filter resize $w $h;
image_filter_jpeg_quality $q;
image_filter_buffer 5M;
try_files $.$ /img/notfound.jpg;
}
# 裁剪图片
location ~ (.+)\.(jpg|gif|png)@(\d+)w_(\d+)h_(\d+)Q_c$ {
set $w $; #宽
set $h $; #高
set $q $; #图片质量
image_filter crop $w $h;
image_filter_jpeg_quality $q;
image_filter_buffer 5M;
try_files $.$ /img/notfound.jpg;
}
---------------------------------------
第三种: //保存在磁盘 访问
http://xxx.com/image_filter/222.jpg@120w_120h_75Q_r
代理到
xxx.com/image-resize/image_filter/.jpg?w=&h=&q= location ~ (.+)\.(jpg|gif|png)@(\d+)w_(\d+)h_(\d+)Q_([rc])$ { # 方便调试
error_log /usr/local/var/logs/nginx/xxx.com.imagefilter.error.log debug; # 限制referer,防盗链
# valid_referers xxx.com;#domain modify
# if ($invalid_referer) {return ;} set $w $; #宽
set $h $; #高
set $q $; #图片质量
set $type $;
set $image_path $.$; #真实图片地址
set $cache_path $1_$3w_$4h_$5Q_$.$; #临时文件地址
if ($type = 'r') {
set $type 'image-resize';
}
if ($type = 'c') {
set $type 'image-crop';
}
set $image_uri /$type$image_path?w=$w&h=$h&q=$q;
if (-f $document_root$cache_path) {
rewrite (.+)\.(jpg|gif|png)@(\d+)w_(\d+)h_(\d+)Q_([rc])$ $1_$3w_$4h_$5Q_$.$;
break;
}
if (!-f $document_root$cache_path) {
# proxy_pass http://$server_name.$image_uri;
# 必须填写ip,填写域名的话,nginx在启动的时候会检测域名,解析DNS,启动后,在修改域名的解析是不生效的
# 实际上,本机填写域名报500不生效,估计是DNS设置不对,会在server下添加
# resolver 127.0.0.1 valid=300s; proxy_pass http://127.0.0.1$image_uri;
break;
}
proxy_store $document_root$cache_path;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /tmp/images;
proxy_set_header Host $host;
expires 10d; # 设置图片过期时间10天
}
location ~ /image-resize(.+)\.(jpg|gif|png) {
rewrite /image-resize(.+)\.(jpg|gif|png)$ $.$ break;
image_filter resize $arg_w $arg_h;
image_filter_jpeg_quality $arg_q;
image_filter_buffer 5M;
try_files $.$ /img/notfound.jpg;
}
location ~ /image-crop(.+)\.(jpg|gif|png) {
rewrite /image-crop(.+)\.(jpg|gif|png)$ $.$ break;
image_filter crop $arg_w $arg_h;
image_filter_jpeg_quality $arg_q;
image_filter_buffer 5M;
try_files $.$ /img/notfound.jpg;
} https://blog.wangjunfeng.com/archives/669

nginx image_filter 配置记录的更多相关文章

  1. nginx https配置记录

    一.证书生成: 要有两个文件,一个私钥,一个证书. 私钥:-----BEGIN PRIVATE KEY----- 开始 证书:-----BEGIN CERTIFICATE----- 开始 二.Ngin ...

  2. nginx.conf 配置记录

    #user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log lognginxs/error.log; ...

  3. nginx缓存配置的操作记录梳理

    web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...

  4. (转)Nginx的https配置记录以及http强制跳转到https的方法梳理

    Nginx的https配置记录以及http强制跳转到https的方法梳理 原文:http://www.cnblogs.com/kevingrace/p/6187072.html 一.Nginx安装(略 ...

  5. Nginx缩略图和Fastdfs整合以及image_filter配置,7点经验结论和5个参考资料

    以下是7点经验结论和5个参考资料 1.Nginx单独配置缩略图与Nginx和Fastdfs模块整合,配置是不一样的. 非整合模式的配置,类似这样的:  location ~* /(\d+)\.(jpg ...

  6. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  7. 《深入理解Nginx》阅读与实践(一):Nginx安装配置与HelloWorld

    最近在读陶辉的<深入理解Nginx:模块开发与架构解析>,一是想跟着大牛练练阅读和编写开源代码的能力,二是想学学Nginx优秀的架构设计,三是想找一个点深入下Linux下网络编程的细节.侯 ...

  8. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  9. Ubuntu Nginx下配置网站ssl实现https访问

    最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Trans ...

随机推荐

  1. servlet请求中的信息

    在servlet中HttpServeltRequest中有一个方法getRequestURL() 假如我们平常输入的地址是:localhost/Demo1/TestServlet?hello=worl ...

  2. Python-HTML基础

    1.HTML 1.HTML是什么 超文本标记语言,即学习这门语言就是在一堆标记 2.为何要用? 标记文本 3.如何用? HTML标签就是用来做记号的,虽然这些记号自带一些样式,但务必忽略掉记号的样式, ...

  3. TestNG测试方法

    @Test(enabled = false)有助于禁用此测试用例. 分组测试是TestNG中的一个新的创新功能,使用<groups>标记在testng.xml文件中指定分组. 它可以在&l ...

  4. js字符串截取为数组

    var str="hello,word,java,eclipse,jsp"; //字符串截取为数组 var strArr=str.split(","); for ...

  5. 【linux】centos6.9安装gearman

    1.确认yum源没问题,如果有问题,参照这里更换 2. yum install -y boost-devel gperf libevent-devel libuuid-devel yum instal ...

  6. jquery中对父节点和子节点的利用

    <tr id='new_tr'> <td id="td_1">td1</td> <td id="td_2">td ...

  7. 关于Bootstrap自定义图标

    1.网站:http://fontello.com/(可能是网站本身原因,总是加载很慢,需要等待一下) 2.eps格式即AI文件,所需画布大小是512*512的,且需要布满整个画布,否则存储出来的图标显 ...

  8. python 全栈开发,Day80(博客系统分析,博客主页展示)

    一.博客系统分析 数据库的构建 首先,我们分析一个博客系统的功能: 一个博客可以有多个标签(多对多) 一个博客可以有多条评论(一对多) 一个博客只可以有一个类别(多对一) 接下来,我们分析关系的属性: ...

  9. python 全栈开发,Day49(超链接导航栏案例,background,定位,z-index,iconfont使用)

    昨日内容回顾 浮动:是css中布局最多的一个属性 有浮动,一定要清除浮动 浮动不是一个元素单独浮动,要浮动一起浮动 清除浮动四种方式: 1.给父盒子添加高度,一般导航栏 2.给浮动元素后面加一个空的块 ...

  10. 最近关于mysql的造型,binlog使用,以及阿里云上线数据处理错误导致被处罚的思考

    因团队中成员,上线代码时,不小心将数据表中吃掉物理的数据清空,导致被单位处罚,痛定思痛,我们应该如何上线,还需要准备哪些技能? 1.上线时,必须关闭服务,不能一边上线,一边让用户可以继续操作,一边产生 ...