nginx image_filter ngx_http_image_filter_module 别名问题
nginx image_filter ngx_http_image_filter_module alias problem
大家好,新时代发布者,尝试寻找解决我问题的方法,但找不到任何东西。我不是程序员,只是一个好奇的人,想把事情弄清楚,所以对非特定语言表示歉意。
我正在设置个人 space 来储存我的照片;无论身在何处,我都想通过互联网访问它们。
为了减少加载时间,我试图在 nginx 中设置 image_filter 模块,这就是我的问题所在。我读过的所有快速指南都指定了一个静态别名文件夹,所有图像都应存储在该文件夹中,但我的图像将存储在单独的文件夹中。结构大致如下:
/var/www/travel/trip1/image_folder
/var/www/travel/trip2/image_folder
/var/www/travel/trip3/image_folder
等等。
这很重要,因为该网站还将作为备份,我不想 'mix' 将所有图像放在一个文件夹中。
所以根据行程*编号,别名应该是指相应的子文件夹image_folder。无论我尝试什么,nginx 都只会在配置了静态别名的情况下提供图像:
location ~ "^/media/(?<width>\d+)/(?<image>.+)$" {
alias /var/www/travel/trip1/image_folder/$image;
image_filter resize $width -;
image_filter_jpeg_quality 75;
image_filter_buffer 8M;
}
有什么方法可以创建别名 'dynamic'?所以如果我加载 trip1 索引页面,图像从 /var/www/travel/trip1/image_folder 加载,如果我加载 trip2 索引页面,它们从 /var/www/travel/trip2/image_folder 加载,依此类推?
提前致谢。
狮子座
您可以捕获 URI 的其余部分并对其进行处理,如下所示:
location /static {
autoindex on;
alias /home/pi/rpiz-site/staticfiles/;
location ~ \.png$ {
image_filter resize 200 200;
}
}
注意这个嵌套的位置指令部分,它实际上让您捕获初始位置指令 URI 的剩余部分,这与您称之为“动态”别名的相同:
location ~ \.png$ {
image_filter resize 200 200;
}
这种方法非常适合我的情况:提供静态文件,如果是 png 文件,将其大小调整为 200x200px。
大家好,新时代发布者,尝试寻找解决我问题的方法,但找不到任何东西。我不是程序员,只是一个好奇的人,想把事情弄清楚,所以对非特定语言表示歉意。
我正在设置个人 space 来储存我的照片;无论身在何处,我都想通过互联网访问它们。
为了减少加载时间,我试图在 nginx 中设置 image_filter 模块,这就是我的问题所在。我读过的所有快速指南都指定了一个静态别名文件夹,所有图像都应存储在该文件夹中,但我的图像将存储在单独的文件夹中。结构大致如下:
/var/www/travel/trip1/image_folder
/var/www/travel/trip2/image_folder
/var/www/travel/trip3/image_folder
等等。 这很重要,因为该网站还将作为备份,我不想 'mix' 将所有图像放在一个文件夹中。
所以根据行程*编号,别名应该是指相应的子文件夹image_folder。无论我尝试什么,nginx 都只会在配置了静态别名的情况下提供图像:
location ~ "^/media/(?<width>\d+)/(?<image>.+)$" {
alias /var/www/travel/trip1/image_folder/$image;
image_filter resize $width -;
image_filter_jpeg_quality 75;
image_filter_buffer 8M;
}
有什么方法可以创建别名 'dynamic'?所以如果我加载 trip1 索引页面,图像从 /var/www/travel/trip1/image_folder 加载,如果我加载 trip2 索引页面,它们从 /var/www/travel/trip2/image_folder 加载,依此类推?
提前致谢。 狮子座
您可以捕获 URI 的其余部分并对其进行处理,如下所示:
location /static {
autoindex on;
alias /home/pi/rpiz-site/staticfiles/;
location ~ \.png$ {
image_filter resize 200 200;
}
}
注意这个嵌套的位置指令部分,它实际上让您捕获初始位置指令 URI 的剩余部分,这与您称之为“动态”别名的相同:
location ~ \.png$ {
image_filter resize 200 200;
}
这种方法非常适合我的情况:提供静态文件,如果是 png 文件,将其大小调整为 200x200px。