nginx image_filter模組
nginx有個動態生成圖片的模組,每次訪問的時候根據請求的尺寸動態生成圖片,生成的圖片不儲存在磁碟中,網站訪問量不大的情況下可以嘗試。下面介紹該模組的新增配置方法。
在nginx中用/usr/local/nginx/sbin/nginx -V 命令檢視該模組是否已經編譯了。
root@node1 nginx]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.4.3
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre/lib/ --with-http_image_filter_module
有了--with-http_image_filter_module引數,說明該模組已經有了,如果沒有,就要重新編譯。
對圖片的裁剪配置
location ~* /images/(.*)_([\d]+)x([\d]+).(jpg|png|gif|jpeg)$ {
root /usr/local/nginx/html;
set $img_name $1;
set $img_width $2;
set $img_height $3;
if ( !-e $document_root/images/$img_name.jpg ) {
return 404;
}
rewrite ^/images/(.*)_(.*)x(.*).jpg$ /images/$img_name.jpg break;
image_filter resize $img_width $img_height;
image_filter_buffer 5M;
image_filter_jpeg_quality 95;
image_filter_transparency on;
}
resize - 根據設定按比例得減小影像
image_filter_buffer - 設定圖片最大尺寸,超過設定值會返回錯誤頁面。
image_filter_jpeg_quality 設定jpeg圖片的壓縮質量比例
image_filter_transparency 用來禁用gif和palette-based的png圖片的透明度,以此來提高圖片質量
由於該模組不產生真實圖片,所有訪問量大時佔用cpu會比較高,建議前端加cache。
在nginx中用/usr/local/nginx/sbin/nginx -V 命令檢視該模組是否已經編譯了。
root@node1 nginx]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.4.3
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre/lib/ --with-http_image_filter_module
有了--with-http_image_filter_module引數,說明該模組已經有了,如果沒有,就要重新編譯。
對圖片的裁剪配置
location ~* /images/(.*)_([\d]+)x([\d]+).(jpg|png|gif|jpeg)$ {
root /usr/local/nginx/html;
set $img_name $1;
set $img_width $2;
set $img_height $3;
if ( !-e $document_root/images/$img_name.jpg ) {
return 404;
}
rewrite ^/images/(.*)_(.*)x(.*).jpg$ /images/$img_name.jpg break;
image_filter resize $img_width $img_height;
image_filter_buffer 5M;
image_filter_jpeg_quality 95;
image_filter_transparency on;
}
resize - 根據設定按比例得減小影像
image_filter_buffer - 設定圖片最大尺寸,超過設定值會返回錯誤頁面。
image_filter_jpeg_quality 設定jpeg圖片的壓縮質量比例
image_filter_transparency 用來禁用gif和palette-based的png圖片的透明度,以此來提高圖片質量
由於該模組不產生真實圖片,所有訪問量大時佔用cpu會比較高,建議前端加cache。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-777344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NGINX模組(一)Nginx
- NGINX模組(二)Nginx
- Nginx的Uwsgi模組(部分模組指令)Nginx
- Nginx 新增 lua 模組Nginx
- 為 Nginx 新增模組Nginx
- Nginx常用的模組Nginx
- nginx模組開發Nginx
- Nginx的Uwsgi模組Nginx
- Nginx安裝nginx-rtmp-module模組Nginx
- nginx學習之模組Nginx
- nginx安裝echo模組Nginx
- nginx加強安全模組Nginx
- Nginx為已安裝nginx動態新增模組Nginx
- Nginx原始碼研究之nginx限流模組詳解Nginx原始碼
- nginx新增sticky cookie 分流模組NginxCookie
- nginx的Split Clients模組薦Nginxclient
- Nginx 模組-細節詳探Nginx
- Nginx縮圖和Fastdfs整合以及image_filter配置,7點經驗結論和5個參考資料NginxASTFilter
- nginx使用熱部署新增新模組Nginx熱部署
- Nginx使用SSL模組配置httpsNginxHTTP
- Nginx使用Lua模組實現WAFNginx
- nginx事件模組 -- 第二篇Nginx事件
- nginx事件模組-- 第四篇Nginx事件
- nginx事件模組 -- 第三篇Nginx事件
- Nginx limit模組限制併發數NginxMIT
- Nginx的Upload上傳模組Nginx
- nginx1.6 安裝上傳模組 nginx_upload_moduleNginx
- CentOS 下重新編譯 nginx 新增模組CentOS編譯Nginx
- Nginx 學習筆記--程式與模組Nginx筆記
- Nginx 架構——【核心流程+模組介紹】Nginx架構
- Tengine新增nginx upstream模組的使用Nginx
- Nginx的ngx_http_fastcgi_module模組NginxHTTPAST
- nginx事件模組 -- 第一篇Nginx事件
- Centos下安裝FastDFS及Nginx模組CentOSASTNginx
- Nginx 學習總結(4)—— Rewrite 模組Nginx
- Nginx系列教程:ngx_cache_purge模組Nginx
- nginx使用ssl模組配置HTTPS支援NginxHTTP
- 解剖Nginx·模組開發篇(1)跑起你的 Hello World 模組!Nginx