mirror of
https://github.com/yanue/nginx-lua-GraphicsMagick.git
synced 2025-11-26 23:35:33 +08:00
75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
server {
|
||
listen 80;
|
||
index index.php index.html index.htm;
|
||
|
||
set $root_path '/var/www';
|
||
root $root_path;
|
||
|
||
|
||
location /lua {
|
||
default_type 'text/plain';
|
||
content_by_lua 'ngx.say("hello, ttlsa lua")';
|
||
}
|
||
|
||
location / {
|
||
try_files $uri $uri/ /index.php?$args;
|
||
|
||
# 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;
|
||
}
|
||
}
|
||
|
||
# set var for thumb pic
|
||
set $upload_path /opt/uploads;
|
||
set $img_original_root $upload_path;# original root;
|
||
set $img_thumbnail_root $upload_path/cache/thumb;
|
||
set $img_file $img_thumbnail_root$uri;
|
||
|
||
# like:/xx/xx/xx.jpg_100-.jpg or /xx/xx/xx.jpg_-100.jpg
|
||
location ~* ^(.+\.(jpg|jpeg|gif|png))_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$ {
|
||
root $img_thumbnail_root; # root path for croped img
|
||
set $img_size $3;
|
||
|
||
if (!-f $img_file) { # if 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 $img_original_root$1; # origin_img full path:/document_root/1.gif
|
||
set $img_size $3; # img width or height size depends on uri
|
||
set $img_ext $2; # file ext
|
||
content_by_lua_file /etc/nginx/lua/autoSize.lua; # load lua
|
||
}
|
||
}
|
||
|
||
# like: /xx/xx/xx.jpg_100x100.jpg
|
||
location ~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)+x(\d+)+\.(jpg|jpeg|gif|png)$ {
|
||
root $img_thumbnail_root; # root path for croped img
|
||
|
||
if (!-f $img_file) { # if 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 $img_original_root$1; # origin_img file path
|
||
set $img_width $3; # img width
|
||
set $img_height $4; # height
|
||
set $img_ext $5; # file ext
|
||
content_by_lua_file /etc/nginx/lua/cropSize.lua; # load lua
|
||
}
|
||
}
|
||
|
||
# if need (all go there)
|
||
location ^~ /uploads {
|
||
root $img_original_root;
|
||
}
|
||
|
||
|
||
location ~ /\.ht {
|
||
deny all;
|
||
}
|
||
}
|