mirror of
https://github.com/yanue/nginx-lua-GraphicsMagick.git
synced 2025-11-26 23:35:33 +08:00
60 lines
2.7 KiB
Plaintext
60 lines
2.7 KiB
Plaintext
server{
|
||
listen 80;
|
||
server_name fdfs.xxx.com;
|
||
|
||
set $img_thumbnail_root /opt/fastdfs/thumb; #set thumb path
|
||
set $img_file $img_thumbnail_root$uri; #thumb file
|
||
|
||
# like:/pic/M00/xx/xx/xx.jpg_100-.jpg or /pic/M00/xx/xx/xx.jpg_-100.jpg
|
||
location ~* ^(\/(\w+)(\/M00)(.+\.(jpg|jpeg|gif|png)))_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$ {
|
||
root $img_thumbnail_root; # root path for croped img
|
||
set $fdfs_group_root /opt/fastdfs/$2/store0/data; #set fastdfs group path $2
|
||
|
||
if (!-f $img_file) { # if thumb file not exists
|
||
add_header X-Powered-By 'Nginx+Lua+GraphicsMagick By Yanue'; # header for test
|
||
add_header file-path $request_filename; # header for test
|
||
set $request_filepath $fdfs_group_root$4; # origin_img full path:/document_root/1.gif
|
||
set $img_size $6; # img width or height size depends on uri : img size like "-100" or "100-", "-" means auto size
|
||
set $img_ext $5; # file ext
|
||
content_by_lua_file /etc/nginx/lua/autoSize.lua; # load auto width or height crop Lua file
|
||
}
|
||
}
|
||
|
||
# like:/pic/M00/xx/xx/xx.jpg_200x100.jpg
|
||
location ~* ^(\/(\w+)(\/M00)(.+\.(jpg|jpeg|gif|png))_(\d+)+x(\d+)+\.(jpg|jpeg|gif|png))$ {
|
||
root $img_thumbnail_root; # root path for croped img
|
||
set $fdfs_group_root /opt/fastdfs/$2/store0/data; #set fastdfs group path $2
|
||
|
||
if (!-f $img_file) { # if thumb file not exists
|
||
add_header X-Powered-By 'Nginx+Lua+GraphicsMagick By Yanue'; # header for test
|
||
add_header file-path $request_filename; # header for test
|
||
set $request_filepath $fdfs_group_root$4; # real file path
|
||
set $img_width $6; # img width
|
||
set $img_height $7; # img height
|
||
set $img_ext $5; # file ext
|
||
content_by_lua_file /etc/nginx/lua/cropSize.lua; # load crop Lua file
|
||
}
|
||
}
|
||
|
||
location /pic/M00 {
|
||
# add support for img which has query params,
|
||
# like: xxx.jpg?a=b&c=d_750x750.jpg
|
||
if ($args ~* "^([^_]+)_(\d+)+x(\d+)+\.(jpg|jpeg|gif|png)$"){
|
||
set $w $2;
|
||
set $h $3;
|
||
set $img_ext $4;
|
||
|
||
# rewrite ^\?(.*)$ _${w}x${h}.$img_ext? last;
|
||
rewrite ([^.]*).(jpg|jpeg|png|gif)$ $1.$2_${w}x${h}.$img_ext? permanent;
|
||
}
|
||
|
||
alias /opt/fastdfs/pic/store0/data;
|
||
ngx_fastdfs_module;
|
||
}
|
||
|
||
location = /favicon.ico {
|
||
log_not_found off;
|
||
access_log off;
|
||
}
|
||
}
|