nginx 生成图片的缩略图
时间: 2023-08-13 14:09:57 浏览: 51
要使用 Nginx 生成缩略图,你可以使用 Nginx 的 `ngx_http_image_filter_module` 模块。该模块可以通过在 URL 中添加参数来生成缩略图。
首先,确保你的 Nginx 已经编译安装了 `ngx_http_image_filter_module` 模块。然后,修改你的 Nginx 配置文件,添加以下内容:
```nginx
location /images/ {
root /path/to/images;
image_filter resize width=200 height=200;
image_filter_interlace on;
image_filter_buffer 10M;
image_filter_jpeg_quality 80;
}
```
上述配置中,`/path/to/images` 是你存放图片的路径。`image_filter resize` 指令用于指定缩略图的尺寸,这里将图片缩放为 200x200 大小的缩略图。你可以根据需要调整尺寸。`image_filter_interlace` 指令用于指定是否启用隔行扫描(渐进式 JPEG),`image_filter_buffer` 指令用于指定缓冲区大小,`image_filter_jpeg_quality` 指令用于指定 JPEG 的质量。
在上述配置中,当访问 `/images/` 目录下的图片时,Nginx 会自动根据 URL 中的参数生成对应尺寸的缩略图。例如,访问 `/images/example.jpg?w=100&h=100` 可以生成一个 100x100 大小的缩略图。
配置完成后,重启 Nginx 使配置生效。
注意,使用 `ngx_http_image_filter_module` 模块生成缩略图需要 Nginx 支持相关的图像处理库,如 libgd 或 ImageMagick。安装这些库以及编译安装 Nginx 时需要添加相应的选项。具体操作可参考相关文档或搜索相关教程。